通过控制面kubectl访问Istio资源

更新时间: 2023-06-05 09:48:40

如果您需要通过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

操作步骤

  1. Kubernetes版本页面安装和设置kubectl客户端,详情参见安装和设置kubectl

  2. 查看ASM实例的连接配置信息。

    1. 登录 ASM控制台

    2. 在左侧导航栏,选择服务网格 > 网格管理

    3. 网格管理页面,找到待配置的实例,单击实例的名称或在操作列中单击管理

    4. 单击右上角的连接配置

      连接配置面板的公网访问内网访问页签下,可以查看两种网络环境下的连接配置信息。

      重要

      仅当ASM实例开启了API Server公网访问能力(即ASM实例已通过阿里云弹性公网IP EIP暴露了API Server)时,您可以通过公网中的任一机器作为客户端来连接ASM实例。否则,您将无法在连接配置面板看到公网访问的连接配置信息。

  3. 配置ASM实例的连接凭据。

    • 如果您使用公网访问,请选择公网访问页签,并单击复制,将内容复制到本地计算机的 $HOME/.kube/config(kubectl预期凭据所在的位置)。如果该目录下没有 config 文件,请自行创建。

    • 如果您使用内网访问,请选择内网访问页签,并单击复制,将内容复制到本地计算机的 $HOME/.kube/config(kubectl预期凭据所在的位置)。如果该目录下没有 config 文件,请自行创建。

  4. 执行以下命令检查是否成功连接。如果显示命名空间信息,则表示连接成功。

    kubectl get ns
阿里云首页 服务网格 ASM 相关技术圈