檢視次數:
設定檔適用性:級別 1
使用 https 連接 kubelet。
apiserverkubelets 的連接可能會傳輸敏感資料,例如秘密和金鑰。因此,對於 apiserverkubelets 之間的任何通信,使用傳輸中的加密是很重要的。
注意
注意
預設情況下,kubelet 連線是已加密的。

影響

您需要在apiserverkubelets上配置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.crttls.key

補救

不需要補救。OpenShift 平台元件使用 X.509 憑證進行驗證。OpenShift 管理平台元件的 CA 和憑證。這不可配置。