檢視次數:
設定檔適用性:等級 1 - 主節點
為每個控制器使用個別的服務帳戶憑證。
控制器管理器在kube-system命名空間中為每個控制器創建一個服務帳戶,生成其憑證,並使用該服務帳戶憑證為每個控制迴圈建立專用的 API 客戶端。將--use-service-account-credentials設置為true時,控制器管理器中的每個控制迴圈都使用單獨的服務帳戶憑證運行。當與 RBAC 結合使用時,這確保控制迴圈以執行其預定任務所需的最低必要的權限運行。
注意
注意
預設情況下,--use-service-account-credentials 設定為 false

影響

無論為叢集配置了哪種授權者,它都必須授予服務帳戶足夠的權限以執行其預定任務。使用 RBAC 授權者時,這些角色會自動在 kube-system 命名空間中創建並綁定到適當的服務帳戶,並在啟動時自動調整為預設角色和角色綁定。
如果使用其他授權方法(ABAC、Webhook等),叢集部署者負責授予服務帳戶適當的權限(所需的權限可以通過檢查controller-roles.yamlcontroller-role-bindings.yaml文件中的RBAC角色來查看)。

稽核

在控制平面節點上執行以下命令:
ps -ef | grep kube-controller-manager
驗證 --use-service-account-credentials 參數是否設定為 true

補救

在控制平面節點上編輯控制器管理器 Pod 規範檔案 /etc/kubernetes/manifests/kube-controller-manager.yaml,以設定以下參數。
--use-service-account-credentials=true