除控制台外,還可以使用Kubernetes命令列工具kubectl來管理叢集與應用。通過kubectl串連叢集時,需先擷取包含目前使用者身份資訊的叢集KubeConfig。
步驟一:安裝並配置kubectl用戶端
確定待安裝kubectl的用戶端機器,根據運行環境和叢集版本安裝kubectl。
步驟二:擷取並使用KubeConfig
在控制台擷取 KubeConfig 後,kubectl 可依據該檔案串連並管理叢集。
RAM使用者串連叢集前,除Container Service的系統許可權外,還需要被授予叢集操作的許可權,請參見為RAM使用者授予RBAC許可權。
登入容器Argo工作流程叢集控制台,單擊目的地組群名稱。
在叢集資訊頁面,單擊串連資訊頁簽,選擇公網訪問或內網訪問,然後複製KubeConfig。
將複製的KubeConfig內容粘貼至用戶端的$HOME/.kube/config檔案中,儲存並退出。
如果
$HOME/.kube/config檔案不存在,可通過mkdir -p $HOME/.kube和touch $HOME/.kube/config來建立。配置完成後,執行kubectl命令以驗證叢集連通性。
以查詢命名空間為例。
kubectl get namespaces預期輸出:
NAME STATUS AGE default Active 4h39m kube-node-lease Active 4h39m kube-public Active 4h39m kube-system Active 4h39m
為RAM使用者授予RBAC許可權
登入容器Argo工作流程叢集控制台,單擊目的地組群名稱。
在許可權管理頁面,在目標RAM使用者右側單擊管理授權,為RAM使用者授予下列許可權:
RBAC許可權
許可權說明
admin(管理員)
具有叢集範圍和所有命名空間下資源的讀寫權限。
dev(開發人員)
具有所選命名空間下的資源讀寫權限。
容器Argo工作流程叢集中的kubectl許可權
不同於普通的Kubernetes叢集,kubectl在容器Argo工作流程叢集中部分操作會受限,許可權說明如下:
叢集資源 | 許可權說明 |
PriorityClass | 可以管理PriorityClasse,並在工作流程中指定PriorityClass,達到通過Pod優先順序控制調度順序的目的。 |
Namespace | 可以建立Namespace,擁有自建Namespace的全部許可權,並可訪問自建Namespace下的資源。不能訪問系統Namespace下的資源,即以 重要 以叢集ID命名的命名空間為Argo的系統命名空間,您可以操作此系統命名空間,例如,修改workflow-controller-configmap配置Argo Workflow的運行參數。 |
Persistentvolume | 全部許可權。 |
Persistentvolumeclaim | 自建Namespaces下的全部許可權。 |
Secret Configmap Serviceaccount | 自建Namespaces下的全部許可權。 |
Pod | 自建Namespaces下的讀許可權。 |
Pods/logevents | 自建Namespaces下的讀許可權。 |
Pods/exec | 自建Namespaces下的建立許可權。 |
Argo資源: workflows workflowtasksets workflowtemplates cronworkflows | 自建Namespaces下的全部許可權。 |