AKS上のpodから、IPアドレス169.254.169.254に対して下記のような問合せを行いました。
不正な問合せをしていることと、レスポンスのbodyの内容については想定通りなのですが、なぜかステータスコードが200で返ってきてしまいます。
これは何故こうなるのでしょうか?また回避方法はありますでしょうか?
手元で試したところ、これが発生するAKSインスタンスとそうでないものがあるようです。
なぜ、このようなご質問をさせていただいているかというと、
datadog agentをHelmを使用してdeployした際に、不正なhostnameが設定されて困っているためです。
datadog agentは初期化処理中にhostnameを取得しようとするのですが、
その際、まずはGCEインスタンスであることを仮定して下記のような問合せを行い、
ステータスがsuccessだった場合は採用するという処理を行っているようなのです。
そこに下記のように200で返答があると、そのままそのレスポンスボディを採用してしまい、不正なhostnameで動作するようになってしまっています。
何か少しでも情報がありましたら幸いです。よろしくお願いします。
# curl http://169.254.169.254/computeMetadata/v1/instance/hostname -H "Metadata-Flavor:Google" --verbose (途中略) < HTTP/1.1 200 OK (途中略) <div id="header"><h1>Server Error</h1></div><div id="content"><div class="content-container"><fieldset><h2>404 - File or directory not found.</h2><h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3> (途中略)