檢視次數:
設定檔適用性:等級 1 - 工作節點
使用憑證啟用 Kubelet 驗證。
從 apiserver 到 kubelet 的連線用於獲取 pod 的日誌、附加(通過 kubectl)到正在運行的 pod,以及使用 kubelet 的端口轉發功能。這些連線終止於 kubelet 的 HTTPS 端點。預設情況下,apiserver 不會驗證 kubelet 的服務憑證,這使得連線容易受到中間人攻擊,並且在不受信任和/或公共網路上運行不安全。啟用 Kubelet 憑證驗證可確保 apiserver 在提交任何請求之前能夠驗證 Kubelet。
注意
注意
預設情況下,--client-ca-file 參數未設置。

影響

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

稽核

在每個節點上執行以下命令:
ps -ef | grep kubelet
驗證 --client-ca-file 參數是否存在並設置為用戶端憑證授權機構檔案的位置資訊。
如果沒有 --client-ca-file 參數,請檢查是否有由 --config 指定的 Kubelet 配置檔案,並且該檔案將 authentication: x509: clientCAFile 設置為用戶端憑證授權檔案的位置信息。

補救措施

如果使用 Kubelet 配置檔案,請編輯檔案以將 authentication: x509: clientCAFile 設定為客戶端 CA 檔案的 位置資訊。
如果使用命令列參數,請編輯每個工作節點上的 kubelet 服務檔案 /etc/kubernetes/kubelet.conf,並在 KUBELET_AUTHZ_ARGS 變數中設置以下參數。
--client-ca-file=<path/to/client-ca-file>
根據您的系統,重新啟動kubelet服務。例如:
systemctl daemon-reload
systemctl restart kubelet.service