如果您需要通过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
如果显示命名空间信息,表明连接成功。