こんにちは、Mackerel開発チームアプリケーションエンジニアの id:ne-sachirou です。
この記事は、GKE (Google Kubernetes Engine) をmackerel-container-agentで監視しているユーザーに向けてご案内するものです。
GKE 1.32以降に新しく作成されたクラスターでは、kubeletのread-onlyポートがデフォルトで無効になっています。
mackerel-container-agentはデフォルトでkubeletのread-onlyポートを利用するように設定されているため、このままではメトリックを取得できません。
GKE 1.32以降でmackerel-container-agentを利用するには、kubeletのデフォルトポートを使うよう、以下の両方の設定が必要です。
MACKEREL_KUBERNETES_KUBELET_READ_ONLY_PORT
環境変数に0
を設定する- ClusterRole を適切に設定する
詳しくはヘルプをご参照ください。
Autopilotクラスターをご利用の場合
GKE Autopilotクラスターでは、mackerel-container-agent(2025年2月26日時点でv0.11.2)が要求する nodes/proxy
権限を設定できません。
そのため、通常の方法ではkubeletのデフォルトポートを利用することができません。
Autopilotクラスターでmackerel-container-agentを利用するには、クラスターの --autoprovisioning-enable-insecure-kubelet-readonly-port
オプションを設定し、read-onlyポートを有効にする必要があります。
以上の通り、GKE 1.32以降の環境でmackerel-container-agentをご利用の方は、設定の見直しをお願いいたします。
引き続き、Mackerelをよろしくお願いいたします。