本文以調用Distributed Cloud Container Platform for Kubernetes (ACK One)DescribeHubClusters介面擷取使用者ACK One主控執行個體列表為例,為您介紹使用阿里雲CLI調用Distributed Cloud Container Platform for KubernetesOpenAPI的操作步驟。
前置概念
阿里雲CLI(Alibaba Cloud Command Line Interface)是基於OpenAPI構建的通用命令列工具,您可以通過阿里雲CLI實現自動化管理和維護Distributed Cloud Container Platform for Kubernetes。更多資訊,請參見什麼是阿里雲CLI。
步驟一:安裝阿里雲CLI
使用阿里雲CLI前,您需要先安裝阿里雲CLI。阿里雲CLI為使用者提供了Windows、Linux和macOS三種作業系統下的安裝服務,請根據您使用裝置的作業系統選擇對應的安裝服務。
-
Windows:安裝CLI(Windows)。
-
Linux:安裝CLI(Linux)。
-
macOS:安裝CLI(macOS)。
Cloud Shell預裝了阿里雲CLI,且在使用時自動為您配置身份憑證,無需手動操作。您可在Cloud Shell中調試阿里雲CLI命令。更多資訊,請參見什麼是雲命令列。
步驟二:配置阿里雲CLI
阿里雲帳號(主帳號)擁有所有產品OpenAPI的管理和存取權限,風險很高。強烈建議您建立RAM使用者(子帳號),並依據最小化許可權原則授予許可權,使用RAM使用者身份訪問OpenAPI。關於Distributed Cloud Container Platform for Kubernetes支援的系統權限原則,請參見AliyunAdcpFullAccess及AliyunAdcpReadOnlyAccess。
使用阿里雲CLI之前,您需要在阿里雲CLI中配置身份憑證、地區ID等資訊。阿里雲CLI支援多種身份憑證,詳情請參見身份憑證類型。阿里雲CLI支援使用RAM使用者的AccessKey資訊配置AK類型身份憑證,具體操作步驟如下:
-
建立一個RAM使用者,並建立AccessKey,以便後續配置身份憑證使用。具體操作,請參見建立RAM使用者及建立AccessKey。
-
為RAM使用者授權。本文樣本需授予RAM使用者唯讀訪問Distributed Cloud Container Platform for Kubernetes的許可權
AliyunAdcpReadOnlyAccess。具體操作,請參見管理RAM使用者的許可權。 -
擷取可用的地區ID,以便後續配置身份憑證使用。阿里雲CLI將使用您指定的地區發起OpenAPI調用,推薦您選擇叢集所在地區對應的地區ID。Distributed Cloud Container Platform for Kubernetes的可用地區請參見服務存取點。
說明使用阿里雲CLI過程中,您可以使用
--region選項指定地區發起命令調用,該選項在使用時將忽略預設身份憑證配置及環境變數設定中的地區資訊。更多資訊,請參見命令列選項。 -
使用RAM使用者的AccessKey資訊配置AK類型憑證,設定檔命名為
AkProfile。具體操作,請參見配置樣本。
步驟三:產生CLI命令樣本
-
在OpenAPI門戶中,訪問DescribeHubClusters調試地址。

-
在參數配置中輸入請求參數,單擊CLI樣本頁簽,查看產生的CLI樣本。
-
複製CLI樣本或在Cloud Shell中快速執行:
-
單擊運行命令按鈕
,可喚出Cloud Shell並快速完成命令調試。 -
單擊複製按鈕
,將CLI樣本複製到剪貼簿中,可粘貼至本地Shell工具中運行或用於編輯自動化命令列指令碼。
說明-
複製CLI樣本到本地Shell工具中進行調試時請注意參數格式。關於阿里雲CLI命令參數使用格式的詳細資料,請參見參數格式。
-
OpenAPI門戶產生樣本中會預設添加
--region選項,複製命令到本地調用時阿里雲CLI將忽略預設身份憑證配置及環境變數設定中的地區資訊,優先使用指定的地區調用命令,您可根據需要對該選項進行刪除或保留。
-
步驟四:調用Distributed Cloud Container Platform for KubernetesOpenAPI
樣本一:擷取支援阿里雲CLI調用的Distributed Cloud Container Platform for KubernetesOpenAPI列表
以下樣本將為您展示如何使用--help選項擷取支援阿里雲CLI調用的Distributed Cloud Container Platform for KubernetesOpenAPI列表。更多資訊,請參見API概覽。
-
執行以下命令。
aliyun adcp --help -
預期輸出。

樣本二:擷取主控執行個體列表
以下樣本將為您展示如何使用阿里雲CLI調用Distributed Cloud Container Platform for KubernetesDescribeHubClusters介面,根據主控類型和資源群組ID擷取使用者ACK One主控執行個體列表。更多介面資訊,請參見查詢已建立的艦隊Fleet執行個體列表。
-
執行以下命令。
aliyun adcp DescribeHubClusters --ResourceGroupId 'rg-aek3dinj3xkf***' --Profile Default -
預期輸出。
{ "RequestId": "2D676EFC-8C04-5CCE-A08E-BB97D24B47E8", "Clusters": [ { "Endpoints": { "IntranetApiServerEndpoint": "https://172.16.6.**:6443\n", "PublicApiServerEndpoint": "https://123.57.21.***:6443\n" }, "ClusterInfo": { "Profile": "Default", "CreationTime": "2021-11-05T10:25:48Z", "UpdateTime": "2021-09-02T13:39:50Z", "ErrorMessage": "Success", "Version": "1.22.3-aliyun.1\n", "State": "running", "ClusterId": "c2d3e0121ea214b438010502a8019****", "Name": "ackone-heyuan", "RegionId": "cn-beijing", "ClusterSpec": "ack.pro.small", "ResourceGroupID": "rg-dt6rk4xm1r6***", "Tags": [ { "Key": "headername", "Value": "release" } ] }, "Network": { "VpcId": "vpc-2zeusrwi7c2mlww4a****", "VSwitches": [ "[\"vsw-2ze1h7tt2fgr1gxlx****\"]" ], "SecurityGroupIDs": [ "[\"sg-2ze1h7tt2fgr****\"]\n" ], "ClusterDomain": "cluster.local" }, "ApiServer": { "EnabledPublic": true, "LoadBalancerId": "lb-bp1qyp4l6bscqxw69****", "ApiServerEipId": "eip-xxx" }, "MeshConfig": { "EnableMesh": false, "MeshId": "c2d3e0121ea214b438010502a8019****" }, "LogConfig": { "EnableLog": true, "LogProject": "audit-log-abc", "LogStoreTTL": "7" }, "Conditions": [ { "Type": "DeletionProtection", "Status": "True", "Reason": "Successful", "Message": "Successful!" } ] } ] }說明-
如果調用Distributed Cloud Container Platform for KubernetesOpenAPI後返回錯誤,您需要根據返回的錯誤碼提示檢查傳入的請求參數及其取值是否正確。
-
您可以記錄下調用返回的RequestID或SDK報錯資訊,通過阿里雲OpenAPI診斷平台進行自助診斷。
-