設定檔適用性:級別 1
使用 https 連接 kubelet。
從
apiserver
到 kubelets
的連接可能會傳輸敏感資料,例如秘密和金鑰。因此,對於 apiserver
和 kubelets
之間的任何通信,使用傳輸中的加密是很重要的。![]() |
注意預設情況下,kubelet 連線是已加密的。
|
影響
您需要在
apiserver
和kubelets
上配置TLS。審計
OpenShift 不使用 --kubelet-https 參數。OpenShift 使用 X.509 憑證來驗證控制平面元件。OpenShift 配置 API 伺服器使用內部憑證授權中心
(CA) 來驗證在 TLS 協商期間發送的使用者憑證。如果憑證驗證成功,請求將被驗證,並且使用者資訊將從憑證主體欄位中獲取。
要驗證 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.crt
和 tls.key
。補救
不需要補救。OpenShift 平台元件使用 X.509 憑證進行驗證。OpenShift 管理平台元件的 CA 和憑證。這不可配置。