Depuración de componentes de Calico
Nube privada virtual Infraestructura clásica
Puede experimentar problemas con los componentes de Calico como, por ejemplo, pods que no despliegan o problemas de red intermitentes.
Puede experimentar problemas con los componentes de Calico como, por ejemplo, pods que no despliegan o problemas de red intermitentes.
El operador « Calico » determina el número de pods de « calico-typha » en función del número de nodos de trabajo del clúster y no tiene en cuenta los nodos marcados como «tainted». Si tienes menos de 3 nodos sin marcas en tu clúster,
o si tienes un clúster muy grande con un número reducido de nodos sin marcas, es posible que uno o varios pods de « calico-typha » se queden atascados en el estado « Pending », ya que el pod no puede encontrar un nodo
sin marcas en el que ejecutarse. Normalmente, esto no causa ningún problema siempre que haya al menos un calico-typha pod en estado de Ejecución. Sin embargo, para una alta disponibilidad se recomienda tener al menos dos calico-typha pods siempre en ejecución. Como práctica recomendada, asegúrese de que haya suficientes nodos no contaminados para ejecutar todos los calico-typha vainas que son creadas por el Calico operador.
Calico Los problemas de red pueden resultar difíciles de diagnosticar sin un registro detallado. El nivel de registro predeterminado para los componentes de Calico está establecido en « info », lo que proporciona información operativa
básica, pero puede que no incluya suficientes detalles para resolver problemas complejos de red.
Aumenta el nivel de registro de los componentes de Calico a debug para recopilar información más detallada sobre el problema. El registro de nivel de depuración proporciona información detallada que puede ayudar a identificar la causa
principal de los problemas de red.
Aumento del nivel de registro de los componentes de calico-typha
Siga estos pasos para aumentar el nivel de registro del componente de calico-typha.
-
Ejecute el mandato siguiente para editar el despliegue de
calico-typha.Para « 1.29 » y versiones posteriores:
kubectl edit deploy calico-typha -n calico-systemPara 1.28 y anteriores:
kubectl edit deploy calico-typha -n kube-system -
Cambie la variable de entorno
TYPHA_LOGSEVERITYSCREENdeinfoadebug.containers: - env: - name: TYPHA_LOGSEVERITYSCREEN value: debug -
Guarde y cierre el archivo para aplicar los cambios y reinicie el despliegue de
calico-typha.
Aumento del nivel de registro de los componentes de calico-cni
Siga estos pasos para aumentar el nivel de registro del componente de calico-cni.
-
Ejecute el mandato siguiente para editar el mapa de configuración de
calico-config.kubectl edit cm -n kube-system calico-config -
Cambie la variable de entorno de
cni_network_config>plugins>log_leveladebug.cni_network_config: |- { "name": "k8s-pod-network", "cniVersion": "0.3.1", "plugins": [ { "type": "calico", "log_level": "debug", -
Guarde y cierre el archivo. El cambio no entrará en vigor hasta que se reinicien los pods de
calico-node. -
Reinicie los pods de
calico-nodepara aplicar los cambios.kubectl rollout restart daemonset/calico-node -n kube-systemSalida de ejemplo
daemonset.apps/calico-node restarted
Aumento del nivel de registro de los componentes de calico-node
Siga estos pasos para aumentar el nivel de registro del componente de calico-node.
-
Ejecute el mandato siguiente:
Para « 1.29 » y versiones posteriores:
kubectl edit ds calico-node -n calico-systemPara 1.28 y anteriores:
kubectl edit ds calico-node -n kube-system -
Debajo del par de nombre y valor de
FELIX_USAGEREPORTINGENABLED(o después de cualquiera de los pares de nombre y valor de de variable de entorno deFELIX_*), añada la entrada siguiente.- name: FELIX_LOGSEVERITYSCREEN value: Debug -
Guarde el cambio. Después de guardar los cambios, todos los pods del daemonset de
calico-nodecompletan una actualización continua que aplica los cambios.calico-cnitambién aplica los cambios en los niveles de registro en el mapa de configuración dekube-system/calico-config.
Aumento del nivel de registro de los componentes de calico-kube-controllers
Siga estos pasos para aumentar el nivel de registro del componente de calico-kube-controllers.
-
Modifica la implementación ejecutando el siguiente comando.
Para « 1.29 » y versiones posteriores:
kubectl edit deploy calico-kube-controllers -n calico-systemPara 1.28 y anteriores:
kubectl edit deploy calico-kube-controllers -n kube-system -
Debajo el par de nombre y valor de
DATASTORE_TYPE, añada la entrada siguiente.- name: LOG_LEVEL value: debug -
Guarde el cambio. El pod de
calico-kube-controllersse reinicia y aplica los cambios.
Recopilación de registros de Calico
-
Enumera los pods y los nodos de tu clúster y anota el nombre del pod, la dirección IP del pod y el nodo de trabajo que presenta el problema.
kubectl get pods -o wide -n kube-system -
Obtenga los registros para el pod de
calico-nodeen el nodo de trabajador donde se ha producido el problema.Para « 1.29 » y versiones posteriores:
kubectl logs calico-typha-aaa11111a-aaaaa -n calico-systemPara 1.28 y anteriores:
kubectl logs calico-typha-aaa11111a-aaaaa -n kube-system -
Obtenga registros del pod de
calico-kube-controllers.Para « 1.29 » y versiones posteriores:
kubectl logs calico-kube-controllers-11aaa11aa1-a1a1a -n calico-systemPara 1.28 y anteriores:
kubectl logs calico-kube-controllers-11aaa11aa1-a1a1a -n kube-system -
Siga las instrucciones de Depuración mediante kubectl exec para obtener
/var/log/syslog,containerd.log,kubelet.logykern.logdel nodo de trabajador.