如果您需要通過API方式來管理ASM實例,需要建立kubectl命令行客戶端與ASM實例的連接。
背景信息
kubectl是Kubernetes集群的命令行工具,通過kubectl能夠對集群本身進行管理,并能夠在集群上進行容器化應用的安裝部署,同時還可以對服務網格進行管理。
服務網格ASM基于Kubernetes提供的RBAC(基于角色的訪問權限控制)機制,提供了預定義RBAC角色,可向用戶授予訪問服務網格的權限范圍。
提供對控制平面側命名空間的管理,支持的操作包括create、delete、get、list、patch、update、watch。
提供對所有Istio資源類型的管理,支持的操作包括create、delete、get、list、patch、update、watch。
提供對
istiogateways.istio.alibabacloud.com
類型資源的管理,用于定義入口網關服務,支持的操作包括create、delete、get、list、patch、update、watch提供對
istio.alibabacloud.com
類型資源的只讀操作,包括get、list。
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: istio-admin
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- config.istio.io
- networking.istio.io
- authentication.istio.io
- rbac.istio.io
- security.istio.io
resources: ["*"]
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- istio.alibabacloud.com
resources: ["istiogateways"]
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- istio.alibabacloud.com
resources: ["*"]
verbs:
- get
- list
操作步驟
從Kubernetes版本頁面安裝和設置kubectl客戶端。具體操作,請參見安裝和設置kubectl。
配置ASM實例的連接憑據。
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇 。
在基本信息頁面右上角,單擊連接配置,然后在連接配置面板,按需單擊公網訪問或內網訪問頁簽,單擊復制Kubeconfig,將內容復制到本地計算機的
$HOME/.kube/config
(kubectl預期憑據所在的位置)。如果目錄下沒有config文件,請自行創建。
重要僅當ASM實例開啟了API Server公網訪問能力(即ASM實例已通過阿里云彈性公網IP EIP暴露了API Server)時,您可以通過公網中的任一機器作為客戶端來連接ASM實例。否則,您將無法在連接配置面板看到公網訪問的連接配置信息。
執行以下命令,檢查是否成功連接。
kubectl get ns
如果顯示命名空間信息,表明連接成功。