ASM提供了诊断工具asmctl,用于检测ASM存在的配置问题。本文介绍如何安装诊断工具asmctl,以及使用诊断工具asmctl连接集群和ASM。
兼容性说明
ASM不保证兼容社区Istio社区诊断工具Istioctl,但是ASM提供诊断工具asmctl,该工具当前支持Istioctl部分命令。
诊断工具asmctl支持在以下版本的ACK集群和ASM中使用:
v1.8.6.49-gda24841c-aliyun及以上版本的ASM标准版。
v1.20.4-aluyun-1及以上版本的ACK Pro托管版集群。
目前,不保证在v1.8.6.49-gda24841c-aliyun以下ASM标准版中使用asmctl时,所有命令的可用性。
安装asmctl
下载asmctl二进制可执行文件。不同操作系统文件不同,请根据实际情况选择。
设置asmctl运行环境。
执行以下命令,创建.istioctl/bin目录。
# 可以将asmctl与istioctl放在同一目录下,方便管理。 # 若已按istio官网方式安装istioctl,则此目录无需创建。 mkdir $HOME/.istioctl/bin
执行以下命令,将asmctl二进制可执行文件移动到.istioctl/bin目录下。
# 运行时注意将$PATH_TO_ASMCTL替换为asmctl所在路径。 mv $PATH_TO_ASMCTL/asmctl $HOME/.istioctl/bin/asmctl
执行以下命令,将asmctl所在路径添加到PATH。
# 将asmctl所在路径添加到PATH。 export PATH=$PATH:$HOME/.istioctl/bin
执行以下命令,为asmctl增加可执行权限。
# 为asmctl增加可执行权限。 chmod +x ".istioctl/bin/asmctl"
使用诊断工具asmctl
您需要配置集群连接凭证和服务网格连接凭证,您才可以使用诊断工具asmctl检测服务网格和集群。集群和服务网格连接凭证默认放在$HOME/.kube/config和$HOME/.kube/asmconfig,您也可以通过--kubeconfig
或-c
自定义集群凭证位置,通过--asmconfig
或-m
自定义服务网格凭证位置。关于asmctl常用命令,请参见诊断工具asmctl常用命令。
使用诊断工具asmctl连接集群
本文以公网访问凭证连接ACK集群为例。
- 登录容器服务管理控制台。
- 在控制台左侧导航栏,单击集群。
- 在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
在集群信息页面单击连接信息页签,单击公网访问下右上角的复制。
在$HOME/.kube目录下创建config文件,将复制的公网访问凭证保存到config文件中。
执行以下命令,验证连接集群是否成功。
kubectl get ns
如果返回命名空间信息,则表示asmctl连接集群成功。
使用诊断工具asmctl连接ASM
本文以公网访问凭证连接ASM为例。
- 登录ASM控制台,在左侧导航栏,选择 。
- 在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在基本信息页面,单击右上角的连接配置。
在连接配置面板公网访问下单击复制,然后单击确定。
在$HOME/.kube目录下创建asmconfig文件,将复制的公网访问凭证保存到asmconfig文件中。
执行以下命令,验证连接ASM是否成功。
kubectl get ns --kubeconfig $HOME/.kube/asmconfig
如果返回命名空间信息,则表示asmctl连接ASM成功。