全部產品
Search
文件中心

Container Service for Kubernetes:AMC命令列協助

更新時間:Feb 28, 2024

AMC是阿里雲Distributed Cloud Container Platform for KubernetesACK 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