Come posso controllare i log dei componenti del cluster EKS Anywhere sui nodi primario e worker per BottleRocket, Ubuntu o Redhat?

5 minuti di lettura
0

Voglio controllare i log dei componenti quando la creazione di un piano di controllo o di macchine del piano dati fallisce in Amazon Elastic Kubernetes Service (Amazon EKS) Anywhere.

Breve descrizione

Durante la creazione di un cluster di carico di lavoro Amazon EKS Anywhere, puoi controllare i log di ogni macchina nel piano di controllo (control-plane), etcd e nel piano dati.

Per controllare i log dei componenti in ogni macchina, devono essere soddisfatte le seguenti condizioni:

  • EKS Anywhere sta cercando di creare un cluster di carico di lavoro e ogni macchina è in fase di creazione.
  • Ogni macchina consente di accedere tramite SSH al piano di controllo (control pane), etcd. e al piano dati.

Risoluzione

Controlla lo stato di ogni macchina con il comando $ kubectl get machines.

Esempio di cluster di gestione:

$ kubectl get machines -A
NAMESPACE     NAME                         CLUSTER   NODENAME      PROVIDERID                                       PHASE     AGE     VERSION
eksa-system   mgmt-etcd-bwnfq              mgmt                    vsphere://4230b0d5-7b14-4753-bd41-3dbe4987dbc4   Running   5h26m
eksa-system   mgmt-etcd-bzm77              mgmt                    vsphere://4230b278-1fb4-f539-0afe-9f12afebf86b   Running   5h26m
eksa-system   mgmt-etcd-dzww2              mgmt                    vsphere://42309b5a-b0ad-58a5-1e40-5fe39a3d1640   Running   5h26m
eksa-system   mgmt-jw8dl                   mgmt      10.4.11.19    vsphere://42304059-c833-48d3-9856-7f902c852743   Running   5h26m   v1.24.9-eks-1-24-7
eksa-system   mgmt-md-0-66b858b477-6cbcz   mgmt      10.4.35.76    vsphere://4230efad-5d42-c570-36c5-bf9ee92ee011   Running   5h26m   v1.24.9-eks-1-24-7
eksa-system   mgmt-md-0-66b858b477-8h88c   mgmt      10.4.19.38    vsphere://4230edbf-db9b-3ae9-a2e6-8421e06863fb   Running   5h26m   v1.24.9-eks-1-24-7
eksa-system   mgmt-s7fb7                   mgmt      10.4.67.152   vsphere://42301d6f-feb1-d967-9750-148d0823c7b5   Running   5h26m   v1.24.9-eks-1-24-7

Dopo aver controllato lo stato delle macchine e aver verificato di poter controllare i log dei componenti, accedi a ciascuna macchina tramite SSH. Nell'esempio seguente, user è l'utente di accesso SSH specificato in MachineConfig di ciascun provider:

$ ssh -i private_key_file user@Machine_IP_address

A seconda del sistema operativo (OS) del computer, segui i relativi passaggi per controllare i log dei componenti.

Nota: la sezione piano di controllo (control plane) si riferisce a una macchina con un nome che ha il prefisso del nome del cluster (“cluster_name-”). La sezione etcd si riferisce a una macchina che ha il nome del cluster e il prefisso etcd (“cluster_name-etcd-”). La sezione piano dati si riferisce a una macchina che ha il nome del cluster e il prefisso del nome del nodo worker (“cluster_name-worker_node_name-”). A seconda delle impostazioni di ClusterConfig, etcd potrebbe non avere una macchina dedicata e si avvia invece sul piano di controllo.

Macchine con sistema operativo BottlerRocket

Quando accedi con SSH, accedi anche al container di amministrazione. Per scopi di debug, ottieni i privilegi di root con il seguente comando prima di controllare i log:

$ sudo sheltie

piano di controllo (control plane)

Per il log kubelet, esegui il seguente comando:

# journalctl -u kubelet.service --no-pager

Per il log containerd, esegui il seguente comando:

# journalctl -u containerd.service --no-pager

Per il log di inizializzazione della macchina, esegui il seguente comando:

# journalctl _COMM=host-ctr --no-pager

Per ogni log del container, controlla i log nella directory /var/log/containers.

Per i manifesti Kubernetes kube-apiserver, kube-controller-manager, kube-scheduler e kube-vip, controlla i file nella directory /etc/kubernetes/manifest.

etcd

Per il log del container, esegui il seguente comando:

# journalctl -u containerd.service --no-pager

Per il log di inizializzazione della macchina, esegui il seguente comando:

# journalctl _COMM=host-ctr --no-pager

Per il log etcd, cerca nella directory /var/log/containers.

piano dati

Per il log kubelet, esegui il seguente comando:

# journalctl -u kubelet.service --no-pager

Per il log containerd, esegui il seguente comando:

# journalctl -u containerd.service --no-pager

Per il log di inizializzazione della macchina, esegui il seguente comando:

# journalctl _COMM=host-ctr

Per ogni log del container, controlla i log nella directory /var/log/containers.

Nota: se usi AWS Snow come provider, controlla anche i risultati dei seguenti comandi su ciascun nodo:

# journalctl -u bootstrap-containers@bottlerocket-bootstrap-snow.service
# systemctl status bootstrap-containers@bottlerocket-bootstrap-snow

Macchine con sistema operativo Ubuntu o Red Hat Enterprise Linux

Per scopi di debug, ottieni i privilegi di root con il seguente comando prima di controllare i log:

$ sudo su -

piano di controllo (control plane)

Per il log kubelet, esegui il seguente comando:

# journalctl -u kubelet.service --no-pager

Per il log containerd, esegui il seguente comando:

# journalctl -u containerd.service --no-pager

Per il log di inizializzazione della macchina, esegui il seguente comando:

# cat /var/log/cloud-init-output.log

Per ogni log del container, controlla i log nella directory /var/log/containers.

Per i dati utente che vengono avviati all'avvio della macchina, esegui il seguente comando:

# cat /var/lib/cloud/instance/user-data.txt

Per i manifesti Kubernetes kube-apiserver, kube-controller-manager, kube-scheduler e kube-vip, controlla i file nella directory /etc/kubernetes/manifest.

etcd

Per il log etcd, esegui il seguente comando:

# journalctl -u etcd.service --no-pager

Per il log di inizializzazione della macchina, esegui il seguente comando:

# cat /var/log/cloud-init-output.log

Per i dati utente che vengono avviati all'avvio della macchina, esegui il seguente comando:

# cat /var/lib/cloud/instance/user-data.txt

piano dati

Per il log kubelet, esegui il seguente comando:

# journalctl -u kubelet.service --no-pager

Per il log containerd, esegui il seguente comando:

# journalctl -u containerd.service --no-pager

Per il log di inizializzazione della macchina, esegui il seguente comando:

# cat /var/log/cloud-init-output.log

Per i dati utente che vengono avviati all'avvio della macchina, esegui il seguente comando:

cat /var/lib/cloud/instance/user-data.txt

Per ogni log del container, controlla i log nella directory /var/log/containers.

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa