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-aliyun-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
您需要配置叢集串連憑證和Service Mesh串連憑證,您才可以使用診斷工具asmctl檢測Service Mesh和叢集。叢集和Service Mesh串連憑證預設放在$HOME/.kube/config和$HOME/.kube/asmconfig,您也可以通過--kubeconfig
或-c
自訂叢集憑證位置,通過--asmconfig
或-m
自訂Service Mesh憑證位置。關於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成功。