ビュー:
プロファイルの適用範囲: レベル 1 - ワーカーノード
kubelet クライアント証明書のローテーションを有効にする。
--rotate-certificates 設定により、kubelet は既存の認証情報が期限切れになると、新しい CSR を作成してクライアント証明書をローテーションします。この自動定期ローテーションにより、証明書の期限切れによるダウンタイムが発生せず、CIA セキュリティの三要素における可用性が確保されます。
注意
注意
この推奨事項は、kubelet が API サーバーから証明書を取得する場合にのみ適用されます。kubelet の証明書が外部の認証機関/ツール(例: Vault)から取得される場合は、自分でローテーションを管理する必要があります。
注意
注意
この機能には、RotateKubeletClientCertificate 機能ゲートを有効にする必要があります(Kubernetes v1.7以降のデフォルト設定です)
注意
注意
デフォルトでは、kubelet クライアント証明書のローテーションが有効になっています。

監査

各ノードで次のコマンドを実行してください:
ps -ef | grep kubelet
--rotate-certificates 引数が存在しないか、true に設定されていることを確認します。--rotate-certificates 引数が存在しない場合、--config で指定された Kubelet 設定ファイルが rotateCertificates: false を含んでいないことを確認します。

修復

Kubelet 設定ファイルを使用する場合は、ファイルを編集して rotateCertificates: true 行を追加するか、デフォルト値を使用するために完全に削除します。
コマンドライン引数を使用する場合、各ワーカーノードの kubelet サービスファイル /etc/kubernetes/kubelet.conf を編集し、KUBELET_CERTIFICATE_ARGS 変数から --rotate-certificates=false 引数を削除します。
お使いのシステムに基づいて、kubelet サービスを再起動します。例えば:
systemctl daemon-reload systemctl restart kubelet.service