プロファイルの適用範囲: レベル 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