檢視次數:
配置檔適用性:級別 1
啟用 kubelet 用戶端憑證輪替。
注意
注意
請參閱 Amazon EKS 文檔以獲取預設值。
--rotate-certificates 設定使 kubelet 在其現有憑證過期時通過創建新的 CSR 來輪換其客戶端憑證。這種自動定期輪換確保了不會因憑證過期而導致停機,從而解決了 CIA(機密性、完整性和可用性)安全三元組中的可用性問題。
注意
注意
此建議僅適用於您讓 kubelet 從 API 伺服器獲取其證書的情況。如果您的 kubelet 證書來自外部權威/工具(例如密碼保險箱),則您需要自行實施輪換。
注意
注意
此功能還需要 RotateKubeletClientCertificate 功能閘道。

審計

  1. SSH 到每個節點並運行以下命令以查找 Kubelet 進程:
    ps -ef | grep kubelet
  2. 如果上述命令的輸出包含 --RotateCertificate 可執行參數,請確認其設置為 true
  3. 如果上述命令的輸出不包含 --RotateCertificate 可執行參數,則請檢查 Kubelet 配置文件。上述命令的輸出應返回類似 --config /etc/kubernetes/kubelet/kubelet-config.json 的內容,這是 Kubelet 配置文件的位置資訊。
  4. 打開 Kubelet 配置文件:
    cat /etc/kubernetes/kubelet/kubelet-config.json
  5. 確認 RotateCertificate 參數不存在,或設置為 true

補救

修復方法 1
如果要修改 Kubelet 配置文件,請編輯 kubelet-config.json 文件 /etc/kubernetes/kubelet/kubelet-config.json,並將以下參數設置為 true
"RotateCertificate":true
此外,請確保 kubelet 服務檔案 /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf 不將 --RotateCertificate 可執行參數設置為 false,因為這會覆蓋 Kubelet 配置檔案。
修復方法 2
如果使用可執行參數,請在每個工作節點上編輯 kubelet 服務檔案 /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf,並在 KUBELET_ARGS 變數字串的末尾添加以下參數:
--RotateCertificate=true