設定檔適用性:等級 1
啟用 kubelet 用戶端憑證輪換。
--rotate-certificates 設定會使 kubelet 在現有憑證過期時,透過建立新的 CSR 來輪替其客戶端憑證。這種自動定期輪替確保不會因憑證過期而導致停機,從而解決 CIA(機密性、完整性和可用性)安全三元組中的可用性問題。此功能還需要啟動
RotateKubeletClientCertificate功能閘。
注意此建議僅適用於您讓 kubelet 從 API 伺服器獲取其憑證的情況。如果您的 kubelet 憑證來自外部授權機構/工具(例如密碼保險箱),則需要自行實施憑證輪換。注意:此功能還需要啟用
RotateKubeletClientCertificate 功能閘。 |
注意請參閱 Amazon EKS 文件以了解預設值。
|
稽核
稽核方法 1:
-
SSH 到每個節點並執行以下命令以查找 Kubelet 進程:
ps -ef | grep kubelet
如果輸出包含--RotateCertificate可執行參數,請確認其設定為true。如果輸出不包含--RotateCertificate可執行參數,則檢查 Kubelet 配置檔案。輸出應返回類似--config /etc/kubernetes/kubelet/kubelet-config.json的內容,這是 Kubelet 配置檔案的 位置資訊。 -
開啟 Kubelet 配置檔:
cat /etc/kubernetes/kubelet/kubelet-config.json
-
驗證
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
