Débogage des composants Calico

Cloud privé virtuel Infrastructure classique

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.

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.

Calico Les problèmes de réseau peuvent être difficiles à diagnostiquer sans journaux détaillés. Le niveau de journalisation par défaut des composants d' Calico est défini sur « info », ce qui fournit des informations opérationnelles de base mais peut ne pas inclure suffisamment de détails pour résoudre des problèmes réseau complexes.

Augmentez le niveau de journalisation des composants d' Calico, en le réglant sur « debug », afin de recueillir des informations plus détaillées sur le problème. La journalisation au niveau « debug » fournit des informations détaillées qui peuvent aider à identifier la cause première des problèmes réseau.

Augmentation du niveau de journalisation des composants calico-typha

Pour augmenter le niveau de journalisation du composant calico-typha , procédez comme suit :

  1. Exécutez la commande suivante pour éditer le calico-typha déploiement.

    oc edit deploy calico-typha -n calico-system
    
  2. Remplacez la TYPHA_LOGSEVERITYSCREENvariable d'environnement de info par debug.

          containers:
        - env:
          - name: TYPHA_LOGSEVERITYSCREEN
            value: debug
    
  3. 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 :

  1. Exécutez la commande suivante pour modifier la calico-config carte de configuration.

    oc edit cm -n calico-system cni-config
    
  2. Remplacez la variable d'environnement cni_network_config > plugins > log_level par debug.

      cni_network_config: |-
      {
        "name": "k8s-pod-network",
        "cniVersion": "0.3.1",
        "plugins": [
          {
            "type": "calico",
            "log_level": "debug",
    
  3. Sauvegardez et fermez le fichier. La modification ne prendra effet que lorsque les calico-nodepods seront redémarrés.

  4. Redémarrez les fichiers calico-node pour appliquer les modifications.

    oc rollout restart daemonset/calico-node -n calico-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 :

  1. Exécutez la commande suivante :

    oc edit ds calico-node -n calico-system
    
  2. Sous la paire nom et valeur FELIX_USAGEREPORTINGENABLED (ou après l'une des paires de valeurs de nom de variable d'environnement FELIX_* ), ajoutez l'entrée suivante.

    - name: FELIX_LOGSEVERITYSCREEN
      value: Debug
    
  3. Enregistrez le changement. Après avoir enregistré vos modifications, tous les pods du calico-nodegroupe 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 configuration kube-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 :

  1. Modifiez le déploiement en exécutant la commande suivante.

    oc edit deploy calico-kube-controllers -n calico-system
    
  2. Sous la paire nom et valeur DATASTORE_TYPE, ajoutez l'entrée suivante.

    - name: LOG_LEVEL
      value: debug
    
  3. Enregistrez le changement. La pod calico-kube-controllers redémarre et applique les modifications.

Collecte des journaux Calico

  1. Répertoriez les pods et les nœuds de votre cluster, puis notez le nom du pod, son adresse IP et le nœud de travail concerné par le problème.

    oc get pods -o wide -n calico-system
    
  2. Obtenez les journaux pour le calico-nodepod sur le nœud de travail où le problème s'est produit.

    oc logs calico-typha-aaa11111a-aaaaa -n calico-system
    
  3. Récupère les journaux pour le podcalico-kube-controllers.

    oc logs calico-kube-controllers-11aaa11aa1-a1a1a -n calico-system
    
  4. Suivez les instructions de Débogage à l'aide de l'exec oc pour obtenir /var/log/syslog, containerd.log, kubelet.loget kern.log à partir du noeud worker.