shibatch's journey

日々考えていることをつらつら書くだけです

GKEでノードイメージ変えたらDatadogでリソースのメトリクスが取れなくなった話

Kubernetesは毎日いじってて小ネタがあるのでたまに書いていくことにする……

GKEはノードに搭載するイメージでいろいろな種類から選ぶことができて、コンテナ用ノードイメージとして「Dockerランタイムを使うもの(cosと呼ばれている) 」「Containerdランタイムを使うもの(cos_containerdと呼ばれている)」があります。クラスタのバージョンのv1.20からDockerランタイムの使用は非推奨化され、GKEでは v1.24以降ではcosは使えず、廃止されてしまいます。

私が扱っているKubernetesクラスタではだいたいcosで運用されていて、将来的になくなるものをずっと使い続けるわけにはいかないのでしれっとcos_containerdに切り替えようとしたのですよ。ただどこまでリスクがあるものなのかいまいち要領をえない(ドキュメント見ても検証してください、と書いてあってふーんという感じ)なので、切り替えて不具合出たら考えよう、としました。

結論を言うと特に不具合はなかったのですが、ただ一点、Datadogで値がぶつっと取れなくなってしまいました。

理由は簡単でしてDockerランタイムのメトリクスを使っていたからで、

これをContainerランタイムにしてやる必要があります。(ただ、DockerランタイムとContainerランタイムは同じような名前でも割と意味が異なるので、そこは定義をみつつ調整が必要。)

この内容だけみると小ネタなんですが、このノードイメージを切り替えた時にノードのスケールアップやらラベルの変更やらしてたおかげで切り分けで悩んでしまい原因が判明するまでうんうん考えてしまうことになってしまった…… (ので共有する価値あろう、ということでメモです)