O AMC é a ferramenta de linha de comando do ACK One Fleet. Este tópico aborda baixe, instalação, principais recursos e como obter ajuda na linha de comando.
O AMC é um plug-in do kubectl para a Distributed Cloud Container Platform for Kubernetes (ACK One). Com o AMC, você pode:
Usar o AMC de forma semelhante ao kubectl
Gerenciar Deployments, Services e Ingresses em clusters gerenciados pelo Fleet
Consultar o status de recursos do Kubernetes (Pods, Services) em um ou em todos os clusters gerenciados
Visualize logs de tarefas de workloads agendados em um cluster gerenciado
Inspecionar a topologia da aplicação e o status dos recursos entre clusters
Pré-requisitos
Verifique se você tem:
Uma instância do ACK One Fleet com pelo menos um cluster associado
O arquivo kubeconfig da instância do Fleet
wget(Linux) oucurl(macOS) instalado
Instale o AMC
Baixe o binário do AMC, torne-o executável e mova-o para /usr/local/bin.
Linux
|
Arquitetura |
Comando |
|
amd64 |
|
|
arm64 |
|
macOS
|
Arquitetura |
Comando |
|
amd64 |
|
|
arm64 |
|
Verifique a instalação
Execute kubectl amc -h para verifique se o AMC está instalado:
kubectl amc -h
Liste clusters gerenciados e aliases
Execute kubectl amc get managedcluster para listar todos os clusters e seus aliases:
kubectl amc get managedcluster
Saída esperada:
Name Alias HubAccepted
managedcluster-c**** cluster1 true
managedcluster-c**** cluster2 true
managedcluster-c**** cluster3 true
Clusters associados anteriormente ao ACK One retornam none na coluna Alias.
Defina um alias de cluster
Para definir um alias de cluster:
kubectl annotate managedcluster <managedcluster name> ackone.aliyun.com/cluster-alias=<cluster-alias>
Para atualize um alias, adicione --overwrite:
kubectl annotate managedcluster <managedcluster name> ackone.aliyun.com/cluster-alias=<cluster-alias> --overwrite
Consulte recursos em um cluster gerenciado
Use -m para direcionar a consulta a um cluster específico ou -m all para consultar todos os clusters.
|
Flag |
Descrição |
|
|
Namespace a ser consultado |
|
|
Nome do cluster gerenciado. Use |
Consulte um cluster específico
kubectl amc get deployment -n demo -m managedcluster-c****
Substitua managedcluster-c**** pelo nome do seu cluster.
Saída esperada:
Run on ManagedCluster managedcluster-c**** (cluster-alias-****)
NAME READY UP-TO-DATE AVAILABLE AGE
web-demo 1/1 1 1 42h
Consulte todos os clusters
kubectl amc get deployment -n demo -m all
Saída esperada:
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
Inspecione a topologia da aplicação
Use appstatus com --tree e --detail para visualize a topologia de uma aplicação e o status dos recursos entre clusters.
|
Flag |
Descrição |
|
|
Exibe os recursos em uma árvore com relações pai-filho |
|
|
Mostra o status detalhado de cada recurso |
kubectl amc appstatus demo -n demo --tree --detail
Saída esperada:
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