Débogage des composants Calico
Virtual Private Cloud Infrastructure classique
En version 1.29 et plus tard, le Calico L'opérateur détermine le nombre de calico-typha
pods en fonction du nombre de nœuds de calcul du cluster et ne prend pas en compte les nœuds corrompus. Si vous avez moins de 3 nœuds intacts
dans votre cluster, ou si vous disposez d'un très grand cluster avec un petit nombre de nœuds intacts, vous pouvez avoir un ou plusieurs nœuds intacts.calico-typha
les dosettes sont coincées dedans Pending
état car
le pod ne trouve pas de nœud intact sur lequel s'exécuter. En général, cela ne pose pas de problème tant qu'il y a au moins un calico-typha
pod dans Running state. Cependant, pour une haute disponibilité, il est recommandé d'avoir
au moins deux calico-typha
pods toujours en cours d'exécution. Il est recommandé de s'assurer qu'il y a suffisamment de nœuds intacts pour exécuter tous les calico-typha
pods créés par le Calico opérateur.
Vous avez des problèmes avec des composants Calico tels que des cabosses qui ne se déploient pas ou des problèmes de mise en réseau intermittents.
Augmenter le niveau de journalisation des composants Calico pour collecter plus d'informations sur la question.
Augmentation du niveau de journalisation des composants calico-typha
Pour augmenter le niveau de journalisation du composant calico-typha
, procédez comme suit :
-
Exécutez la commande suivante pour éditer le
calico-typha
déploiement.Pour 1.29 et les versions ultérieures :
kubectl edit deploy calico-typha -n calico-system
Pour 1.28 et les versions antérieures:
kubectl edit deploy calico-typha -n kube-system
-
Remplacez la
TYPHA_LOGSEVERITYSCREEN
variable d'environnement deinfo
pardebug
.containers: - env: - name: TYPHA_LOGSEVERITYSCREEN value: debug
-
Enregistrez et fermez le fichier pour appliquer les modifications et redémarrez le déploiement
calico-typha
.
Augmentation du niveau de journalisation des composants calico-cni
Pour augmenter le niveau de journalisation du composant calico-cni
, procédez comme suit :
-
Exécutez la commande suivante pour modifier la
calico-config
carte de configuration.kubectl edit cm -n kube-system calico-config
-
Remplacez la variable d'environnement
cni_network_config
>plugins
>log_level
pardebug
.cni_network_config: |- { "name": "k8s-pod-network", "cniVersion": "0.3.1", "plugins": [ { "type": "calico", "log_level": "debug",
-
Sauvegardez et fermez le fichier. La modification ne prendra effet que lorsque les
calico-node
pods seront redémarrés. -
Redémarrez les fichiers
calico-node
pour appliquer les modifications.kubectl rollout restart daemonset/calico-node -n kube-system
Exemple de sortie
daemonset.apps/calico-node restarted
Augmentation du niveau de journalisation des composants calico-node
Pour augmenter le niveau de journalisation du composant calico-node
, procédez comme suit :
-
Exécutez la commande suivante :
Pour 1.29 et les versions ultérieures :
kubectl edit ds calico-node -n calico-system
Pour 1.28 et les versions antérieures:
kubectl edit ds calico-node -n kube-system
-
Sous la paire nom et valeur
FELIX_USAGEREPORTINGENABLED
(ou après l'une des paires de valeurs de nom de variable d'environnementFELIX_*
), ajoutez l'entrée suivante.- name: FELIX_LOGSEVERITYSCREEN value: Debug
-
Enregistrez le changement. Après avoir enregistré vos modifications, tous les pods du
calico-node
groupe de travail effectuent une mise à jour continue qui applique les modifications.calico-cni
applique également toutes les modifications apportées aux niveaux de journalisation dans la carte de configurationkube-system/calico-config
.
Augmentation du niveau de journalisation des composants calico-kube-controllers
Pour augmenter le niveau de journalisation du composant calico-kube-controllers
, procédez comme suit :
-
Éditez le daemonset en exécutant la commande suivante.
Pour 1.29 et les versions ultérieures :
kubectl edit ds calico-node -n calico-system
Pour 1.28 et les versions antérieures:
kubectl edit ds calico-node -n kube-system
-
Sous la paire nom et valeur
DATASTORE_TYPE
, ajoutez l'entrée suivante.- name: LOG_LEVEL value: debug
-
Enregistrez le changement. La pod
calico-kube-controllers
redémarre et applique les modifications.
Collecte des journaux Calico
-
Dressez la liste des pods et des nœuds de votre cluster et créez un nœud du nom du pod, de l'adresse IP du pod et du nœud de travailleur qui présente le problème.
-
Obtenez les journaux pour le
calico-node
pod sur le nœud de travail où le problème s'est produit.Pour 1.29 et les versions ultérieures :
kubectl logs calico-typha-aaa11111a-aaaaa -n calico-system
Pour 1.28 et les versions antérieures:
kubectl logs calico-typha-aaa11111a-aaaaa -n kube-system
-
Récupère les journaux pour le pod
calico-kube-controllers
.Pour 1.29 et les versions ultérieures :
kubectl logs calico-kube-controllers-11aaa11aa1-a1a1a -n calico-system
Pour 1.28 et les versions antérieures:
kubectl logs calico-kube-controllers-11aaa11aa1-a1a1a -n kube-system
-
Suivez les instructions de Débogage à l'aide de la commande kubectl exec pour obtenir
/var/log/syslog
,containerd.log
,kubelet.log
etkern.log
à partir du noeud de travail.