Alibaba Cloud CLIは、Alibaba Cloud APIに基づいて開発された管理ツールです。 Alibaba Cloud CLIを使用して、Alibaba CloudサービスのAPIを呼び出すことができます。
前提条件
Alibaba Cloud CLIを使用する前に、Alibaba Cloudリソースを呼び出すために必要な情報を設定する必要があります。 この情報には、資格情報、地域、および言語が含まれます。 詳細については、「概要」をご参照ください。
Alibaba Cloud CLIとkubectlのインストールとセットアップ
デフォルトでは、Cloud ShellはAlibaba Cloud CLIとともにプリインストールされ、アカウント情報で設定されます。 構成を変更する必要はありません。 Cloud Shellを使用しない場合は、Alibaba Cloud CLIとkubectlをインストールして設定する必要があります。
Alibaba Cloud CLI のインストール。
Alibaba Cloud CLIをLinuxにインストールします。 詳細は、「Linux」をご参照ください。
macOSにAlibaba Cloud CLIをインストールします。
パッケージマネージャーを使用して、macOSにAlibaba Cloud CLIをインストールすることもできます。 詳細については、「Homebrew」をご参照ください。 パッケージマネージャーのインストール後、次のコマンドを実行してAlibaba Cloud CLIをインストールします。
brew install aliyun-cli
WindowsでAlibaba Cloud CLIをインストールする方法の詳細については、「Windows」をご参照ください。
Alibaba Cloud CLI の設定 次のコマンドを実行して、ID情報の格納に使用される環境変数を作成します。
aliyun configure
期待される出力:
Configuring profile 'default' in 'AK' authenticate mode... Access Key Id []: ************ Access Key Secret []: ************ Default Region Id []: cn-beijing Default Output Format [json]: json (Only support json) Default Language [zh|en] en: Saving profile[default] ...Done. Configure Done!!! ..............888888888888888888888 ........=8888888888888888888D=.............. ...........88888888888888888888888 ..........D8888888888888888888888I........... .........,8888888888888ZI: ...........................=Z88D8888888888D.......... .........+88888888 ..........................................88888888D.......... .........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D.......... .........+88888888 ............. ************* ..............O8888888D.......... .........+88888888 .... Command Line Interface(Reloaded) ....O8888888D.......... .........+88888888...........................................88888888D.......... ..........D888888888888DO+. ..........................?ND888888888888D.......... ...........O8888888888888888888888...........D8888888888888888888888=........... ............ .:D8888888888888888888.........78888888888888888888O ..............
kubectlクライアントをインストールして設定します。 詳細については、「kubectlのインストールと設定」をご参照ください。
ACKサーバーレスクラスターの作成
という名前の作業ディレクトリとファイルを作成します。
create.json
ディレクトリにあります。次のテンプレートは、
create.json
ファイルの例です。{ "cluster_type": "ManagedKubernetes", "profile": "Serverless", "name": "test-serverless-k8s", "region_id": "cn-hangzhou", "zoneid": "cn-hangzhou-h", "nat_gateway": true, "private_zone": false, "tags": [ {"key": "env", "value": "test"} ] }
上記のサンプルテンプレートでは、ACKサーバーレスクラスターの作成に使用される設定について説明します。 詳細については、「ACKサーバーレスクラスターの作成」をご参照ください。
次のコマンドを実行して、ACKサーバーレスクラスターを作成します。
aliyun cs POST /clusters --header "Content-Type=application/json" --body "$(cat create.json)"
{ "cluster_id": "************************", "instanceId": "************************", "request_id": "**********-****-****-****-************", "task_id": "*-************" }
ACKサーバーレスクラスターが作成されたら、次のコマンドを実行してクラスターに関する情報を照会します。
aliyun cs GET /clusters/<YOUR-CLUSTER-ID>
期待される出力:
{ "cluster_id": "************************", "cluster_spec": "ack.standard", "cluster_type": "ManagedKubernetes", "created": "2024-05-06T14:48:40+08:00", "current_version": "1.28.3-aliyun.1", "deletion_protection": false, "external_loadbalancer_id": "lb-*********", "init_version": "1.28.3-aliyun.1", "name": "test-serverless-k8s", "network_mode": "vpc", "profile": "Serverless", "region_id": "cn-hangzhou", "resource_group_id": "rg-*********", "security_group_id": "sg-*********", "service_domain_name": "", "size": 0, "state": "running", "tags": [ { "key": "env", "value": "test" }, { "key": "ack.aliyun.com", "value": "cc98dd6edd4ff4c*****************" } ], "updated": "2024-05-06T14:52:44+08:00", "vpc_id": "vpc-*********", "vswitch_id": "vsw-*********", "zone_id": "cn-hangzhou-*" }
次のコマンドを実行して、クラスター設定を照会します。
KUBECONFIG=<YOUR-LOCAL-KUBECONFIG-PATH> aliyun cs GET /k8s/$cluster_id/user_config | jq -r '.config' > $KUBECONFIG kubectl get ns
期待される出力:
NAME STATUS AGE default Active 7m43s kube-node-lease Active 7m45s kube-public Active 7m45s kube-system Active 7m45s
ACKサーバーレスクラスターのテスト
次のコマンドを実行して、ACKサーバーレスクラスターにNGINXアプリケーションをデプロイします。
kubectl run nginx --image=registry-vpc.cn-shenzhen.aliyuncs.com/acs-sample/nginx:latest
期待される出力:
deployment.apps/nginx created
次のコマンドを実行して、NGINXアプリケーションの状態を照会します。
kubectl get deploy nginx
期待される出力:
NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 58s
リソースの削除とリリース
次のコマンドを実行してNGINXアプリケーションを削除します。
kubectl delete deploy nginx
期待される出力:
deployment.extensions "nginx" deleted
次のコマンドを実行して、ACKサーバーレスクラスターを削除し、クラスターがデプロイされている仮想プライベートクラウド (VPC) などの関連リソースを解放することもできます。
aliyun cs DELETE /clusters/************