プロファイル適用性: レベル1
kubelet接続にhttpsを使用します。
apiserverからkubeletsへの接続は、シークレットやキーなどの機密データを含む可能性があります。そのため、apiserverkubelets間の通信には、転送中の暗号化を使用することが重要です。
注意
注意
デフォルトでは、kubelet接続は暗号化されています。

影響

apiserverおよびkubeletsでTLSを構成する必要があります。

監査

OpenShiftは--kubelet-https引数を使用しません。OpenShiftはコントロールプレーンコンポーネントの認証にX.509証明書を利用します。OpenShiftはAPIサーバを構成して、TLSネゴシエーション中に送信されたユーザ証明書を検証するために内部証明書機関 (CA) を使用します。証明書の検証が成功すると、リクエストは認証され、ユーザ情報は証明書のサブジェクトフィールドから取得されます。
kubeletクライアント証明書が存在することを確認するには、次のコマンドを実行します:
oc get configmap config -n openshift-kube-apiserver -ojson | jq -r 
'.data["config.yaml"]' | jq '.apiServerArguments["kubelet-client-
certificate"]' 

oc get configmap config -n openshift-kube-apiserver -ojson | jq -r 
'.data["config.yaml"]' | jq '.apiServerArguments["kubelet-client-key"]' 

oc -n openshift-apiserver describe secret serving-cert 

# Run the following command and the output should return true or no output at all 

oc get configmap config -n openshift-kube-apiserver -ojson | jq -r 
'.data["config.yaml"]' | jq '.apiServerArguments["kubelet-https"]'
kubeletクライアント証明書およびkubeletクライアントキーのファイルが存在することを確認してください。
クライアント認証ファイル:
/etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/kubelet-client/tls.crt
クライアントキー:
/etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/kubelet-client/tls.key
openshift-apiserverのserving-certがkubernetes.io/tlsタイプであり、返されたデータにtls.crttls.keyが含まれていることを確認してください。

修復

修復は必要ありません。OpenShiftプラットフォームコンポーネントは認証にX.509証明書を使用します。OpenShiftはプラットフォームコンポーネントのCAと証明書を管理します。これは構成可能ではありません。