ビュー:
プロファイル適用性: レベル1 - ワーカーノード
証明書を使用したKubelet認証の有効化。
apiserverからkubeletへの接続は、ポッドのログを取得したり、実行中のポッドに (kubectlを通じて) アタッチしたり、kubeletのポートフォワーディング機能を使用するために使用されます。これらの接続はkubeletのHTTPSエンドポイントで終了します。デフォルトでは、apiserverはkubeletのサービング証明書を検証しないため、接続が中間者攻撃の対象となり、不信頼または公共のネットワーク上での実行が安全ではありません。Kubelet証明書認証を有効にすることで、apiserverがリクエストを送信する前にKubeletを認証できるようになります。
注意
注意
デフォルトでは、--client-ca-file引数は設定されていません。

影響

apiserverおよびkubeletにTLSを設定する必要があります。

監査

各ノードで次のコマンドを実行します。
ps -ef | grep kubelet
--client-ca-file 引数が存在し、クライアント認証局ファイルの場所に設定されていることを確認してください。
--client-ca-file引数が存在しない場合、--configで指定されたKubelet設定ファイルがあり、そのファイルがクライアント認証局ファイルの場所にauthentication: x509: clientCAFileを設定していることを確認してください。

修復

Kubelet設定ファイルを使用する場合、ファイルを編集してauthentication: x509: clientCAFileをクライアントCAファイルの場所に設定してください。
コマンドライン引数を使用する場合、各ワーカーノードのkubeletサービスファイル/etc/kubernetes/kubelet.confを編集し、以下のパラメータをKUBELET_AUTHZ_ARGS変数に設定してください。
--client-ca-file=<path/to/client-ca-file>
お使いのシステムに基づいて、kubeletサービスを再起動してください。例:
systemctl daemon-reload
systemctl restart kubelet.service