檢視次數:
設定檔適用性:等級 1 - 主節點
啟用基於憑證的 kubelet 驗證。
預設情況下,apiserver 不會對 kubelet 的 HTTPS 端點進行驗證。來自 apiserver 的請求將被匿名處理。您應該設置基於憑證的 kubelet 驗證,以確保 apiserver 在提交請求時對 kubelet 進行驗證。
注意
注意
預設情況下,基於憑證的 kubelet 驗證未設置。

影響

您需要在 apiserver 和 kubelets 上配置 TLS。

稽核

在控制平面節點上執行以下命令:
ps -ef | grep kube-apiserver
確認 --kubelet-client-certificate--kubelet-client-key 參數是否存在並且設置正確。
替代稽核方法
kubectl get pod -nkube-system -lcomponent=kube-apiserver -o=jsonpath='{range
.items[]}{.spec.containers[].command} {"\n"}{end}' | grep '--kubelet-client-certificate' |
grep -i false
如果退出代碼為1,則控制項不存在/失敗。

補救措施

按照 Kubernetes 文件設定 apiserver 和 kubelets 之間的 TLS 連接。然後,在控制平面節點上編輯 API 伺服器 pod 規範文件 /etc/kubernetes/manifests/kube-apiserver.yaml,並設置 kubelet 用戶端憑證和密鑰參數如下。
--kubelet-client-certificate=<path/to/client-certificate-file>
--kubelet-client-key=<path/to/client-key-file>