ビュー:
プロファイル適用性: レベル 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 configファイルを使用する場合は、ファイルを編集して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