Kubelet クライアント証明書の自動更新が無効

kubelet クライアント証明書が期限切れになる前に更新されるよう管理してください。

説明

--rotate-certificates=false は kubelet クライアント証明書の自動更新を無効にします。別の更新手順がなければ、期限切れにより API サーバーへの認証に失敗する可能性があります。

自動更新は新しい鍵と証明書署名要求(CSR)を使うため、承認と証明書の発行が実際に機能する必要があります。kubelet サーバー証明書の更新とは別です。

想定される影響

  • 証明書の期限切れにより、ノードから API サーバーへのアクセスが中断する可能性があります。
  • 手動更新の漏れや遅延は、障害復旧の負担を増やすおそれがあります。

対処方法

  • KubeletConfiguration の rotateCertificates: true、または使用バージョンが対応する --rotate-certificates=true を設定してください。
  • 必要な CSR 承認・署名権限を構成し、実際の証明書の更新と有効期限を確認してください。
  • 手動管理が必要な場合は、期限前の更新手順と警告を用意してください。

例

kubelet の引数を比較する抜粋です。foo/bar は仮の値なので、実際のノードの kubelet 設定に適用してください。

変更前

yaml
apiVersion: v1
kind: Pod
metadata:
  name: command-demo
spec:
  containers:
    - name: command-demo-container
      image: foo/bar
      command: ["kubelet"]
      args: ["--rotate-certificates=false"]

クライアント証明書の自動更新が無効なため、別の更新手順が必要です。

変更後

yaml
apiVersion: v1
kind: Pod
metadata:
  name: command-demo
spec:
  containers:
    - name: command-demo-container
      image: foo/bar
      command: ["kubelet"]
      args: ["--rotate-certificates"]

更新を要求する設定です。新しい証明書を使用するには、CSR の承認と署名が正常に完了する必要があります。

参考資料