全部產品
Search
文件中心

Alibaba Cloud Service Mesh:通過控制面kubectl訪問Istio資源

更新時間:Jun 30, 2024

如果您需要通過API方式來管理ASM執行個體,需要建立kubectl命令列用戶端與ASM執行個體的串連。

背景資訊

kubectl是Kubernetes叢集的命令列工具,通過kubectl能夠對叢集本身進行管理,並能夠在叢集上進行容器化應用的安裝部署,同時還可以對Service Mesh進行管理。

Service MeshASM基於Kubernetes提供的RBAC(基於角色的存取權限控制)機制,提供了預定義RBAC角色,可向使用者授予訪問Service Mesh的許可權範圍。

  • 提供對控制平面側命名空間的管理,支援的操作包括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

操作步驟

  1. Kubernetes版本頁面安裝和設定kubectl用戶端。具體操作,請參見安裝和設定kubectl

  2. 配置ASM執行個體的串連憑據。

    1. 登入ASM控制台,在左側導覽列,選擇服務網格 > 網格管理

    2. 網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇網格執行個體 > 基本資料

    3. 基本資料頁面右上方,單擊串連配置,然後在串連配置面板,按需單擊公網訪問內網訪問頁簽,單擊複製Kubeconfig,將內容複寫到本機電腦的$HOME/.kube/config(kubectl預期憑據所在的位置)。

      如果目錄下沒有config檔案,請自行建立。

      重要

      僅當ASM執行個體開啟了API Server公網訪問能力(即ASM執行個體已通過阿里雲Elastic IP Address EIP暴露了API Server)時,您可以通過公網中的任一機器作為用戶端來串連ASM執行個體。否則,您將無法在串連配置面板看到公網訪問的串連配置資訊。

  3. 執行以下命令,檢查是否成功串連。

    kubectl get ns

    如果顯示命名空間資訊,表明串連成功。