このトピックでは、Distributed Cloud Container Platform for Kubernetesを使用して、Distributed Cloud Container Platform for Kubernetes (ACK One) APIのDescribeHubClusters
操作を呼び出して、Alibaba Cloudアカウントに属するマスターインスタンスを照会する方法について説明します。
始める前に
Alibaba Cloud CLIは、OpenAPI仕様に基づいて開発された汎用のコマンドラインツールです。 Alibaba Cloud CLIを使用して、Distributed Cloud Container Platform for Kubernetesのリソースの管理とメンテナンスを自動化できます。 詳細については、「」をご参照ください。Alibaba Cloud CLIとは
ステップ1: Alibaba Cloud CLIのインストール
Alibaba Cloud CLIを使用する前にインストールする必要があります。 Alibaba Cloud CLIは、Windows、Linux、およびmacOSをサポートしています。 Alibaba Cloud CLIをインストールするときに、デバイスのオペレーティングシステムに基づいてインストールパッケージを選択します。
Cloud ShellはAlibaba Cloud CLIと共にプリインストールされています。 Cloud Shellを起動すると、ID資格情報で自動的に設定されます。 Cloud ShellでAlibaba Cloud CLIを使用できます。 詳細については、「」をご参照ください。Cloud Shellとは
ステップ2: Alibaba Cloud CLIの設定
Alibaba Cloudアカウントには、すべてのAlibaba CloudサービスのAPIを管理およびアクセスする権限があります。 Alibaba Cloudアカウントを使用してAPI操作を呼び出すと、セキュリティリスクが発生する可能性があります。 Resource Access Management (RAM) ユーザーを作成し、最小特権の原則に基づいてRAMの使用に必要な権限を付与することを推奨します。 次に、RAMユーザーを使用してAPI操作を呼び出すことができます。 Distributed Cloud Container Platform for Kubernetesのシステムポリシーの詳細については、「AliyunAdcpFullAccess」および「AliyunAdcpReadOnlyAccess」をご参照ください。
Alibaba Cloud CLIを使用する前に、Alibaba Cloud CLIでID資格情報とリージョンIDを指定する必要があります。 Alibaba Cloud CLIは、さまざまなタイプのID資格情報をサポートしています。 詳細については、「資格情報の種類」をご参照ください。 Alibaba Cloud CLIは、AccessKeyペアタイプの資格情報をサポートしています。 AccessKeyペアを作成するには、次の手順を実行します。
RAMユーザーを作成し、RAMユーザーがID資格情報を設定するためのAccessKeyペアを作成します。 詳細については、「RAM ユーザーの作成」および「AccessKeyペアの作成」をご参照ください。
RAM ユーザーに必要な権限を付与します。 この例では、
AliyunContainerRegistryReadOnlyAccess
ポリシーがRAMユーザーにアタッチされ、RAMユーザーにDistributed Cloud Container Platform for Kubernetesに対する読み取り専用権限を付与します。詳細については、「RAMユーザーへの権限付与」をご参照ください。ID資格情報を設定するリージョンのIDを取得します。 Alibaba Cloud CLIは、指定したリージョンでAPI呼び出しを開始します。 クラスターが存在するリージョンのIDを指定することを推奨します。 Distributed Cloud Container Platform for Kubernetesが利用可能なリージョンの詳細については、「エンドポイント」をご参照ください。
説明Alibaba Cloud CLIを使用する場合、
-- region
オプションを使用して、呼び出しを開始するリージョンを指定できます。 このオプションを使用してリージョンを指定すると、Alibaba Cloud CLIはデフォルトの資格情報と環境変数のリージョン情報を無視します。 詳細については、「API呼び出しのコマンドラインオプション」をご参照ください。RAMユーザーのAccessKeyペアを使用して、
AkProfile
という名前のプロファイルでID資格情報を設定します。 詳細については、「設定例」をご参照ください。
ステップ3: サンプルコマンドの生成
を呼び出します。Call the
OpenAPI ExplorerでのDescribeHubClusters操作。
[パラメーター] タブで、リクエストパラメーターを設定します。 次に、[CLIの例] タブをクリックして、生成されたサンプルコマンドを表示します。
コマンドをコピーするか、Cloud Shellでコマンドを実行します。
アイコンをクリックしてCloud Shellでコマンドを実行します。 Cloud Shellウィンドウでコマンドをすばやくデバッグできます。
アイコンをクリックし
て、サンプルコマンドをクリップボードにコピーします。 次に、サンプルコマンドをオンプレミスシェルに貼り付けて、サンプルコマンドを実行します。
説明CLIコマンドをオンプレミスのシェルに貼り付けてデバッグするときは、パラメーターの形式に注意してください。 Alibaba Cloud CLIで必要なパラメーター形式の詳細については、「パラメーター形式」をご参照ください。
デフォルトでは、OpenAPI Explorerはサンプルコマンドに
-- region
オプションを追加します。 コマンドをシェルにコピーすると、Alibaba Cloud CLIはデフォルトのID資格情報と環境変数のリージョン情報を無視し、オプションで指定されたリージョンでコマンドを優先的に実行します。 ビジネス要件に基づいてオプションを削除または保持できます。
手順4: Distributed Cloud Container Platform for KubernetesAPIの呼び出し
例1: Distributed Cloud Container Platform for KubernetesAlibaba Cloud CLIのクエリ操作
次の例では、-- help
オプションを使用して、Alibaba Cloud CLIでサポートされているDistributed Cloud Container Platform for Kubernetes APIの操作をクエリする方法について説明します。 詳細については、「関数別の操作の一覧」をご参照ください。
以下のコマンドを実行します。
aliyun adcp --help
期待される出力:
例2: Alibaba Cloudアカウントに属するマスターインスタンスのリストを照会する
次の例では、Distributed Cloud Container Platform for Kubernetes APIのDescribeHubClusters
操作を呼び出す方法について説明します。 この操作を使用して、マスターインスタンスタイプとリソースIDに基づいてマスターインスタンスを照会できます。 詳細については、「DescribeHubClusters-マスターインスタンスの照会」をご参照ください。
以下のコマンドを実行します。
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 Kubernetes APIを呼び出した後にエラーが返された場合は、エラーコードに基づいてリクエストパラメーターと値が有効かどうかを確認してください。
返されたリクエストIDまたはSDKのエラー情報に基づいて診断を実行することもできます。 OpenAPIの問題診断
ページ。