AMCは、Distributed Cloud Container Platform for Kubernetes (ACK One) が提供するコマンドラインツールです。 AMCはkubectlプラグインとして実行されます。 このトピックでは、AMCをダウンロードしてインストールする方法と、AMCの機能について説明します。 このトピックでは、AMCに関するヘルプ情報を表示する方法についても説明します。
AMCのダウンロードとインストール
次のコマンドを実行してAMCパッケージをダウンロードし、実行可能にします。 その後、AMCをkubectlプラグインとして実行できます。
AMC for Linux
wget http://ack-one.oss-cn-hangzhou.aliyuncs.com/kubectl-amc-linux && chmod +x kubectl-amc-linux && mv kubectl-amc-linux /usr/local/bin/kubectl-amc
AMC for macOS
curl -LO http://ack-one.oss-cn-hangzhou.aliyuncs.com/kubectl-amc-mac && chmod +x kubectl-amc-mac && mv kubectl-amc-mac /usr/local/bin/kubectl-amc
AMCの特徴
kubectlを使用するのと同じ方法でAMCを使用できます。
Fleetインスタンスのkubeconfigファイルを使用してFleetインスタンスに接続し、次の操作を実行できます。
フリートインスタンスが管理するクラスターの名前を指定し、AMCを使用してクラスターに接続します。 その後、クラスター内のデプロイメント、サービス、およびIngressを管理できます。
フリートインスタンスが管理するクラスターにスケジュールされているタスクを指定し、クラスターに接続します。 次に、ポッドやサービスなど、タスク用に作成されたKubernetesリソースに関する情報を照会できます。 タスクのログを照会することもできます。
AMCヘルプ情報
次のコマンドを実行して、AMCに関するヘルプ情報を表示します。
kubectl amc -h
AMCを使用して、関連するクラスターとクラスターエイリアスを照会します。
次のコマンドを実行して、関連するクラスターとクラスターエイリアスを照会します。
kubectl amc get managedcluster
期待される出力:
Name Alias HubAccepted
managedcluster-c**** cluster1 true
managedcluster-c**** cluster2 true
managedcluster-c**** cluster3 true
none
は、以前にACK Oneに関連付けられていたクラスターのAlias
列で返されます。
関連するクラスターのエイリアスを指定または変更するには、次のコマンドを実行します。
kubectl annotate managedcluster <managedcluster name> ackone.aliyun.com/cluster-alias=<cluster-alias>
関連付けられているクラスターエイリアスがある場合、関連付けられているクラスターのエイリアスを変更するには、次のコマンドを実行します。
kubectl annotate managedcluster <managedcluster name> ackone.aliyun.com/cluster-alias=<cluster-alias> --overwrite
AMCを使用して、関連するクラスターで実行されるリソースのステータスを照会します。
次のコマンドを実行して、関連付けられたクラスターで実行されるリソースのステータスを照会します。
kubectl amc get deployment -n demo -m managedcluster-c**** # Replace managedcluster-c**** with the name of the associated cluster that you want to manage.
期待される出力:
Run on ManagedCluster managedcluster-c**** (cluster-alias-****)
NAME READY UP-TO-DATE AVAILABLE AGE
web-demo 1/1 1 1 42h
AMCを使用して、関連するすべてのクラスターで実行されるリソースのステータスを照会します。
次のコマンドを実行して、関連するすべてのクラスターで実行されるリソースのステータスを照会します。
kubectl amc get deployment -n demo -m all
期待される出力:
Run on ManagedCluster managedcluster-c**** (cluster1)
NAME READY UP-TO-DATE AVAILABLE AGE
web-demo 1/1 1 1 42h
Run on ManagedCluster managedcluster-c**** (cluster2)
NAME READY UP-TO-DATE AVAILABLE AGE
web-demo 3/3 3 3 42h
Run on ManagedCluster managedcluster-c**** (cluster3)
NAME READY UP-TO-DATE AVAILABLE AGE
web-demo 5/5 5 5 42h
AMCを使用して、関連するクラスター内のアプリケーションおよび関連するリソースのトポロジとステータスを表示する
次のコマンドを実行して、関連するクラスター内のアプリケーションと関連するリソースのステータスを照会します。
kubectl amc appstatus demo -n demo --tree --detail
期待される出力:
CLUSTER NAMESPACE RESOURCE STATUS APPLY_TIME DETAIL
managedcluster-c****─── demo ─┬─ Deployment/demo updated 2022-05-27 06:48:13 Ready: 4/4 Up-to-date: 4 Available: 4 Age: 8m2s
├─ Ingress/demo updated 2022-05-27 06:48:13 Class: <none> Hosts: app.demo.example.com Address:
│ Ports: 80 Age: 8m2s
├─ ConfigMap/demo updated 2022-05-27 14:48:13 Data: 4 Age: 8m2s
└─ Service/demo updated 2022-05-27 06:48:13 Type: ClusterIP Cluster-IP: 192.168.9.178
External-IP: <none> Port(s): 82/TCP Age: 8m2s
managedcluster-c****─── demo ─┬─ Deployment/demo updated 2022-05-27 06:48:16 Ready: 2/2 Up-to-date: 2 Available: 2 Age: 7m59s
├─ Ingress/demo updated 2022-05-27 06:48:15 Class: <none> Hosts: app.demo.example.com Address:
│ Ports: 80 Age: 7m59s
├─ ConfigMap/demo updated 2022-05-27 14:48:17 Data: 4 Age: 7m58s
└─ Service/demo updated 2022-05-27 06:48:15 Type: ClusterIP Cluster-IP: 192.168.199.111
External-IP: <none> Port(s): 82/TCP Age: 7m59s