AMC, ACK One Fleet için kullanılan komut satırı aracıdır. Bu konu, indirme ve yükleme işlemlerini, temel yetenekleri ve komut satırı yardımının nasıl alınacağını kapsar.
AMC, Kubernetes için Dağıtık Cloud Container Platformu (ACK One) üzerinde çalışan bir kubectl eklentisidir. AMC ile şunları yapabilirsiniz:
kubectl gibi AMC kullanma
Fleet tarafından yönetilen kümeler arasında Deployment, Service ve Ingress kaynaklarını yönetin
Bir veya tüm yönetilen kümelerde Kubernetes kaynak durumunu (Podlar, Hizmetler) sorgulayın
Yönetilen bir kümeye zamanlanan iş yükleri için görev günlüklerini görüntüleyin
Kümeler arasındaki uygulama topolojisini ve kaynak durumunu inceleyin
Ön koşullar
Şunlara sahip olduğunuzdan emin olun:
En az bir ilişkili kümesi olan bir ACK One Fleet örneği
Fleet örneğinin kubeconfig dosyası
(Linux için)
wgetveya (macOS için)curlyüklü olmalıdır
AMC'yi yükleyin
AMC ikili dosyasını indirin, çalıştırılabilir hale getirin ve /usr/local/bin dizinine taşıyın.
Linux
| Mimari | Komut |
|---|---|
| amd64 | wget http://ack-one.oss-cn-hangzhou.aliyuncs.com/kubectl-amc-linux-amd64 && chmod +x kubectl-amc-linux-amd64 && mv kubectl-amc-linux-amd64 /usr/local/bin/kubectl-amc |
| arm64 | wget http://ack-one.oss-cn-hangzhou.aliyuncs.com/kubectl-amc-linux-arm64 && chmod +x kubectl-amc-linux-arm64 && mv kubectl-amc-linux-arm64 /usr/local/bin/kubectl-amc |
macOS
| Mimari | Komut |
|---|---|
| amd64 | curl -LO http://ack-one.oss-cn-hangzhou.aliyuncs.com/kubectl-amc-mac-amd64 && chmod +x kubectl-amc-mac-amd64 && mv kubectl-amc-mac-amd64 /usr/local/bin/kubectl-amc |
| arm64 | curl -LO http://ack-one.oss-cn-hangzhou.aliyuncs.com/kubectl-amc-mac-arm64 && chmod +x kubectl-amc-mac-arm64 && mv kubectl-amc-mac-arm64 /usr/local/bin/kubectl-amc |
Yüklemeyi doğrulayın
AMC'nin yüklendiğini doğrulamak için kubectl amc -h komutunu çalıştırın:
kubectl amc -h
Yönetilen kümeleri ve takma adları listeleyin
Tüm kümeleri ve takma adlarını listelemek için kubectl amc get managedcluster komutunu çalıştırın:
kubectl amc get managedcluster
Beklenen çıktı:
Name Alias HubAccepted
managedcluster-c**** cluster1 true
managedcluster-c**** cluster2 true
managedcluster-c**** cluster3 true
Daha önce ACK One ile ilişkilendirilmiş kümeler, Alias sütununda none değeri döndürür.
Küme takma adı ayarlayın
Bir küme takma adı ayarlamak için:
kubectl annotate managedcluster <managedcluster name> ackone.aliyun.com/cluster-alias=<cluster-alias>
Takma adı güncellemek için --overwrite parametresini ekleyin:
kubectl annotate managedcluster <managedcluster name> ackone.aliyun.com/cluster-alias=<cluster-alias> --overwrite
Yönetilen bir kümedeki kaynakları sorgulayın
Belirli bir kümeyi hedeflemek için -m bayrağını veya tüm kümeleri sorgulamak için -m all bayrağını kullanın.
| Bayrak | Açıklama |
|---|---|
-n <namespace> |
Sorgulanacak ad alanı |
-m <cluster-name> |
Yönetilen küme adı. Tüm kümeler için all kullanın. |
Belirli bir kümeyi sorgulayın
kubectl amc get deployment -n demo -m managedcluster-c****
managedcluster-c**** ifadesini kendi küme adınızla değiştirin.
Beklenen çıktı:
Run on ManagedCluster managedcluster-c**** (cluster-alias-****)
NAME READY UP-TO-DATE AVAILABLE AGE
web-demo 1/1 1 1 42h
Tüm kümeleri sorgulayın
kubectl amc get deployment -n demo -m all
Beklenen çıktı:
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
Uygulama topolojisini inceleyin
Bir uygulamanın kümeler arasındaki topolojisini ve kaynak durumunu görüntülemek için --tree ve --detail bayraklarıyla birlikte appstatus komutunu kullanın.
| Bayrak | Açıklama |
|---|---|
--tree |
Kaynakları üst-alt ilişkisiyle ağaç yapısında gösterir |
--detail |
Her kaynak için ayrıntılı durumu gösterir |
kubectl amc appstatus demo -n demo --tree --detail
Beklenen çıktı:
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