このトピックでは、Distributed Cloud Container Platform for Kubernetes を使用して Distributed Cloud Container Platform for Kubernetes (ACK One) の DescribeHubClusters API を呼び出し、お使いの Alibaba Cloud アカウントのマスターインスタンスを照会する方法について説明します。
事前準備
Alibaba Cloud CLI は、OpenAPI Specification に基づいて開発された汎用コマンドラインツールです。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 を起動すると、認証情報が自動的に設定されます。Cloud Shell で Alibaba Cloud CLI を使用できます。詳細については、「Cloud Shell とは」をご参照ください。
ステップ2: Alibaba Cloud CLI の設定
Alibaba Cloud アカウントは、すべての Alibaba Cloud サービスの API を管理およびアクセスする権限があります。Alibaba Cloud アカウントを使用して API 操作を呼び出すと、セキュリティリスクが発生する可能性があります。最小権限の原則 に基づいて RAM ユーザーを作成し、必要な権限を付与することを推奨します。その後、RAM ユーザーを使用して API 操作を呼び出すことができます。Distributed Cloud Container Platform for Kubernetes のシステムポリシーの詳細については、「AliyunAdcpFullAccess」および「AliyunAdcpReadOnlyAccess」をご参照ください。
Alibaba Cloud CLI を使用する前に、認証情報、リージョン ID、およびその他の情報を設定する必要があります。Alibaba Cloud CLI は複数の種類の認証情報をサポートしています。詳細については、「認証情報の設定と管理」をご参照ください。次の手順では、RAM ユーザーの AccessKey ペアを使用して認証情報を設定する方法について説明します。
RAM ユーザーを作成し、その RAM ユーザーの AccessKey ペアを作成して認証情報を設定します。詳細については、「RAM ユーザーの作成」および「AccessKey ペアの作成」をご参照ください。
RAM ユーザーに必要な権限を付与します。この例では、
AliyunAdcpReadOnlyAccessポリシーを RAM ユーザーにアタッチして、Distributed Cloud Container Platform for Kubernetes に対する読み取り専用権限を付与します。詳細については、「RAM ユーザーへの権限付与」をご参照ください。認証情報を設定するリージョンの ID を取得します。Alibaba Cloud CLI は、指定したリージョンで API 呼び出しを開始します。クラスターが存在するリージョンの ID を指定することを推奨します。Distributed Cloud Container Platform for Kubernetes が利用可能なリージョンの詳細については、「エンドポイント」をご参照ください。
説明Alibaba Cloud CLI を使用する場合、
--regionオプションを使用して、呼び出しを実行するリージョンを指定できます。このオプションを使用してリージョンを指定すると、Alibaba Cloud CLI はデフォルトの認証情報および環境変数のリージョン情報を無視します。詳細については、「API 呼び出しのコマンドラインオプション」をご参照ください。RAM ユーザーの AccessKey ペアを使用して、
AkProfileという名前のプロファイルに認証情報を設定します。詳細については、「設定例」をご参照ください。
ステップ3: サンプルコマンドの生成
-
[パラメーター] タブでリクエストパラメーターを入力し、[CLI の例] タブをクリックして生成された CLI の例を表示します。
-
コマンドをコピーするか、Cloud Shell でコマンドを実行します。
-
[コマンドの実行] ボタン
をクリックして Cloud Shell を開き、コマンドをデバッグします。 -
[コピー] ボタン
をクリックして、CLI の例をクリップボードにコピーします。その後、ローカルシェルに貼り付けて実行したり、自動化スクリプトで使用したりできます。
説明CLI コマンドをオンプレミスシェルに貼り付けてデバッグする場合は、パラメーターの形式に注意してください。Alibaba Cloud CLI で必要なパラメーター形式の詳細については、「パラメーター形式」をご参照ください。
デフォルトでは、OpenAPI Explorer はサンプルコマンドに
--regionオプションを追加します。コマンドをシェルにコピーすると、Alibaba Cloud CLI はデフォルトの認証情報と環境変数のリージョン情報を無視し、このオプションで指定されたリージョンでコマンドを優先的に実行します。必要に応じて、このオプションを削除または保持できます。
-
ステップ4: Distributed Cloud Container Platform for Kubernetes API の呼び出し
例1: Distributed Cloud Container Platform for KubernetesDistributed Cloud Container Platform for Kubernetes の操作の照会
次の例では、--help オプションを使用して、Alibaba Cloud CLI でサポートされている Distributed Cloud Container Platform for Kubernetes API の操作を照会する方法について説明します。詳細については、「機能別の操作一覧」をご参照ください。
次のコマンドを実行します。
aliyun adcp --help-
出力例:
Product: adcp (Distributed Cloud Container Platform for Kubernetes) Version: 2022-01-01 Available Api List: AttachClusterToHub Adds an ACK cluster to an ACK One master instance. ChangeResourceGroup CreateHubCluster Creates an ACK One master instance. DeleteHubCluster Deletes an ACK One master instance. DeletePolicyInstance Deletes a policy rule instance in an associated cluster. DeleteUserPermission Deletes the RBAC authorization of a RAM user. DeployPolicyInstance Deploys a policy rule instance in a cluster that is associated with a master instance. DescribeHubClusterDetails Obtains the details of an ACK One master instance.
例2: Alibaba Cloud アカウントのマスターインスタンスの照会
次の例では、Distributed Cloud Container Platform for Kubernetes API の DescribeHubClusters 操作を呼び出す方法について説明します。この操作を使用して、マスターインスタンスのタイプとリソース ID に基づいてマスターインスタンスを照会できます。詳細については、「DescribeHubClusters - マスターインスタンスの照会」をご参照ください。
次のコマンドを実行します。
aliyun adcp DescribeHubClusters --ResourceGroupId 'rg-aek3dinj3xkf***' --Profile AkProfile-
出力例:
{ "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-11-06T12:00:00Z", "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!" } ] } ] }