AMC命令行帮助

AMC是阿里云分布式云容器平台ACK One的命令行工具,可通过kubectl插件的方式运行。本文介绍AMC的下载和安装、功能特性及如何获取AMC操作的帮助信息。

AMC下载和安装

执行以下命令,下载AMC命令行工具并配置运行权限。之后您便可以通过kubectl使用AMC命令行。

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

Mac下载安装

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插件的方式运行,使用习惯和kubectl一致。

  • 通过Fleet实例的KubeConfig,实现以下功能:

    • 根据关联集群的名称,访问Fleet实例管理的关联集群,管理应用相关的Deployment、Service和Ingress等Kubernetes资源。

    • 根据任务的调度结果,访问相应的关联集群,查看任务的Pod、Service和Logs等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
说明

早期关联的集群,Alias显示为none

可通过如下命令设置关联集群的别名。

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****    # managedcluster-c****为待查看的关联集群名称。

预期输出:

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