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

監査

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

修復

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