Debug dei componenti Calico
Virtual Private Cloud Infrastruttura classica
Si riscontrano problemi con i componenti di Calico, come i pod che non vengono distribuiti o problemi di rete intermittenti.
Si riscontrano problemi con i componenti di Calico, come i pod che non vengono distribuiti o problemi di rete intermittenti.
L'operatore " Calico " determina il numero di pod " calico-typha " in base al numero di worker del cluster e non tiene conto dei nodi contrassegnati come "tainted". Se nel cluster sono presenti meno di
3 nodi non contrassegnati, oppure se si dispone di un cluster molto grande con un numero ridotto di nodi non contrassegnati, è possibile che uno o più pod " calico-typha " rimangano bloccati nello stato " Pending ", poiché il pod non riesce a trovare un nodo non contrassegnato su cui essere eseguito. Di solito, questo non causa problemi finché c'è almeno un pod calico-typha nello stato Running. Tuttavia, per un'elevata disponibilità
si consiglia di avere almeno due calico-typha pod sempre in esecuzione. Come procedura consigliata, assicurati che ci siano abbastanza nodi non contaminati per eseguire tutto il file calico-typha pod creati da Calico
operatore.
Calico I problemi di rete possono essere difficili da diagnosticare senza registrazioni dettagliate. Il livello di log predefinito per i componenti di Calico è impostato su " info", che fornisce informazioni operative di
base ma potrebbe non includere dettagli sufficienti per risolvere problemi di rete complessi.
Aumenta il livello di registrazione dei componenti di Calico impostandolo su " debug " per raccogliere informazioni più dettagliate sul problema. La registrazione a livello di debug fornisce un output dettagliato che può
aiutare a identificare la causa principale dei problemi di rete.
Aumento del livello di log per i componenti calico-typha
Completare la seguente procedura per aumentare il livello di log per il componente calico-typha.
-
Eseguire il seguente comando per modificare la distribuzione di
calico-typha.Per 1.29 e versioni successive:
kubectl edit deploy calico-typha -n calico-systemPer 1.28 e versioni precedenti:
kubectl edit deploy calico-typha -n kube-system -
Modificare la variabile di ambiente di
TYPHA_LOGSEVERITYSCREENdainfoadebug.containers: - env: - name: TYPHA_LOGSEVERITYSCREEN value: debug -
Salvare e chiudere il file per applicare le modifiche e riavviare la distribuzione di
calico-typha.
Aumento del livello di log per i componenti calico-cni
Completare la seguente procedura per aumentare il livello di log per il componente calico-cni.
-
Immettere il seguente comando per modificare
calico-configConfigMap.kubectl edit cm -n kube-system calico-config -
Modificare la variabile di ambiente di
cni_network_config>plugins>log_levelindebug.cni_network_config: |- { "name": "k8s-pod-network", "cniVersion": "0.3.1", "plugins": [ { "type": "calico", "log_level": "debug", -
Salva e chiudi il file. La modifica non avrà effetto fino a quando i pod
calico-nodenon vengono riavviati. -
Riavvia i pod
calico-nodeper applicare le modifiche.kubectl rollout restart daemonset/calico-node -n kube-systemOutput di esempio
daemonset.apps/calico-node restarted
Aumento del livello di log per i componenti calico-node
Completare la seguente procedura per aumentare il livello di log per il componente calico-node.
-
Esegui il seguente comando:
Per 1.29 e versioni successive:
kubectl edit ds calico-node -n calico-systemPer 1.28 e versioni precedenti:
kubectl edit ds calico-node -n kube-system -
Nella coppia nome - valore
FELIX_USAGEREPORTINGENABLED(o dopo una delle coppie nome - valore della variabile di ambienteFELIX_*), aggiungere la seguente voce.- name: FELIX_LOGSEVERITYSCREEN value: Debug -
Salvare la modifica. Dopo aver salvato le tue modifiche, tutti i pod nel daemonset
calico-nodecompletano un aggiornamento progressivo che applica le modifiche.calico-cniapplica inoltre eventuali modifiche ai livelli di registrazione nellakube-system/calico-configConfigMap ConfigMap.
Aumento del livello di log per i componenti calico-kube-controllers
Completare la seguente procedura per aumentare il livello di log per il componente calico-kube-controllers.
-
Modifica la distribuzione eseguendo il comando seguente.
Per 1.29 e versioni successive:
kubectl edit deploy calico-kube-controllers -n calico-systemPer 1.28 e versioni precedenti:
kubectl edit deploy calico-kube-controllers -n kube-system -
Nella coppia nome - valore
DATASTORE_TYPE, aggiungere la seguente voce.- name: LOG_LEVEL value: debug -
Salvare la modifica. Il pod
calico-kube-controllersviene riavviato e applica le modifiche.
Raccolta dei log Calico
-
Elenca i pod e i nodi presenti nel tuo cluster e prendi nota del nome del pod, dell'indirizzo IP del pod e del nodo di lavoro su cui si verifica il problema.
kubectl get pods -o wide -n kube-system -
Ottieni i log per il pod
calico-nodesul nodo di lavoro in cui si è verificato il problema.Per 1.29 e versioni successive:
kubectl logs calico-typha-aaa11111a-aaaaa -n calico-systemPer 1.28 e versioni precedenti:
kubectl logs calico-typha-aaa11111a-aaaaa -n kube-system -
Ottieni i log per il pod
calico-kube-controllers.Per 1.29 e versioni successive:
kubectl logs calico-kube-controllers-11aaa11aa1-a1a1a -n calico-systemPer 1.28 e versioni precedenti:
kubectl logs calico-kube-controllers-11aaa11aa1-a1a1a -n kube-system -
Segui le istruzioni per Debug utilizzando kubectl exec per ottenere
/var/log/syslog,containerd.log,kubelet.logekern.logdal nodo di lavoro.