通過(guò)控制面kubectl訪問(wèn)Istio資源
如果您需要通過(guò)API方式來(lái)管理ASM實(shí)例,需要建立kubectl命令行客戶端與ASM實(shí)例的連接。
背景信息
kubectl是Kubernetes集群的命令行工具,通過(guò)kubectl能夠?qū)罕旧磉M(jìn)行管理,并能夠在集群上進(jìn)行容器化應(yīng)用的安裝部署,同時(shí)還可以對(duì)服務(wù)網(wǎng)格進(jìn)行管理。
服務(wù)網(wǎng)格ASM基于Kubernetes提供的RBAC(基于角色的訪問(wèn)權(quán)限控制)機(jī)制,提供了預(yù)定義RBAC角色,可向用戶授予訪問(wèn)服務(wù)網(wǎng)格的權(quán)限范圍。
提供對(duì)控制平面?zhèn)让臻g的管理,支持的操作包括create、delete、get、list、patch、update、watch。
提供對(duì)所有Istio資源類型的管理,支持的操作包括create、delete、get、list、patch、update、watch。
提供對(duì)
istiogateways.istio.alibabacloud.com
類型資源的管理,用于定義入口網(wǎng)關(guān)服務(wù),支持的操作包括create、delete、get、list、patch、update、watch提供對(duì)
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版本頁(yè)面安裝和設(shè)置kubectl客戶端。具體操作,請(qǐng)參見(jiàn)安裝和設(shè)置kubectl。
配置ASM實(shí)例的連接憑據(jù)。
登錄ASM控制臺(tái),在左側(cè)導(dǎo)航欄,選擇 。
在網(wǎng)格管理頁(yè)面,單擊目標(biāo)實(shí)例名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在基本信息頁(yè)面右上角,單擊連接配置,然后在連接配置面板,按需單擊公網(wǎng)訪問(wèn)或內(nèi)網(wǎng)訪問(wèn)頁(yè)簽,單擊復(fù)制Kubeconfig,將內(nèi)容復(fù)制到本地計(jì)算機(jī)的
$HOME/.kube/config
(kubectl預(yù)期憑據(jù)所在的位置)。如果目錄下沒(méi)有config文件,請(qǐng)自行創(chuàng)建。
重要僅當(dāng)ASM實(shí)例開(kāi)啟了API Server公網(wǎng)訪問(wèn)能力(即ASM實(shí)例已通過(guò)阿里云彈性公網(wǎng)IP EIP暴露了API Server)時(shí),您可以通過(guò)公網(wǎng)中的任一機(jī)器作為客戶端來(lái)連接ASM實(shí)例。否則,您將無(wú)法在連接配置面板看到公網(wǎng)訪問(wèn)的連接配置信息。
執(zhí)行以下命令,檢查是否成功連接。
kubectl get ns
如果顯示命名空間信息,表明連接成功。