全部產品
Search
文件中心

Alibaba Cloud Service Mesh:安裝和使用診斷工具asmctl

更新時間:Jun 30, 2024

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

  1. 下載asmctl二進位可執行檔。不同作業系統檔案不同,請根據實際情況選擇。

  2. 設定asmctl運行環境。

    1. 執行以下命令,建立.istioctl/bin目錄。

      # 可以將asmctl與istioctl放在同一目錄下,方便管理。
      # 若已按istio官網方式安裝istioctl,則此目錄無需建立。
      mkdir $HOME/.istioctl/bin
    2. 執行以下命令,將asmctl二進位可執行檔移動到.istioctl/bin目錄下。

      # 運行時注意將$PATH_TO_ASMCTL替換為asmctl所在路徑。
      mv $PATH_TO_ASMCTL/asmctl $HOME/.istioctl/bin/asmctl
    3. 執行以下命令,將asmctl所在路徑添加到PATH。

      # 將asmctl所在路徑添加到PATH。                                                                   
      export PATH=$PATH:$HOME/.istioctl/bin
    4. 執行以下命令,為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叢集為例。

  1. 登入Container Service管理主控台

  2. 在控制台左側導覽列,單擊叢集

  3. 叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情

  4. 在叢集資訊頁面單擊串連資訊頁簽,單擊公網訪問下右上方的複製

  5. $HOME/.kube目錄下建立config檔案,將複製的公網訪問憑證儲存到config檔案中。

  6. 執行以下命令,驗證串連叢集是否成功。

    kubectl get ns 

    如果返回命名空間資訊,則表示asmctl串連叢集成功。

使用診斷工具asmctl串連ASM

本文以公網訪問憑證串連ASM為例。

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

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

  3. 基本資料頁面,單擊右上方的串連配置

  4. 串連配置面板公網訪問下單擊複製,然後單擊確定

  5. $HOME/.kube目錄下建立asmconfig檔案,將複製的公網訪問憑證儲存到asmconfig檔案中。

  6. 執行以下命令,驗證串連ASM是否成功。

    kubectl get ns --kubeconfig $HOME/.kube/asmconfig

    如果返回命名空間資訊,則表示asmctl串連ASM成功。