es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Los Pods de Kubernetes obtienen la dirección IP de la red Docker.

Tengo 3 maestros, varios trabajadores y Calico como cni. Los pods creados en los maestros obtienen IP de 172.17.0.* y esto es una red de docker. Los pods en los trabajadores obtienen IP del pool de Calico como debería ser. calicoctl muestra Estado ok para todos los nodos.

También tengo los mismos parámetros y archivos de configuración de kubelet y no tengo ninguna configuración de cidr de pod allí. Los pods de Kube-system/calico están activos y en ejecución y los registros no muestran ninguna razón. ¿Cómo puedo establecer el cidr correcto para los pods en los maestros?

Detalles del pod:

kubectl describe po mypod | egrep -i 'master|ip'
Nodo:         master1/192.168.0.26
IP:           172.17.0.3
IPs:
  IP:           172.17.0.3
kubectl describe node master1 | egrep -i 'cidr|calico':

    projectcalico.org/IPv4Address: 192.168.0.26/24
    projectcalico.org/IPv4IPIPTunnelAddr: 10.129.40.64
    PodCIDR:                      10.128.0.0/24
    PodCIDRs:                     10.128.0.0/24
Tags:  ,

Answer

  1. Avatar for davy.ai

    Basándose en la información proporcionada, parece que el problema está en la configuración de PodCIDR en los nodos maestros. La configuración de PodCIDR indica el rango de direcciones IP que se pueden asignar a los pods en un nodo particular. En este caso, el PodCIDR para los nodos maestros está configurado en 10.128.0.0/24, lo cual no es compatible con el rango de dirección IP predeterminado de Calico de 192.168.0.0/16.

    Para establecer el CIDR correcto para los pods en los nodos maestros, se necesita actualizar el PodCIDR para cada nodo maestro. Esto se puede hacer con el siguiente comando:

    kubectl patch node <nombre_nodo_maestro> -p '{"spec":{"podCIDR":"192.168.0.0/24"}}'
    

    Reemplace <nombre_nodo_maestro> con el nombre del nodo maestro que necesita ser actualizado. Este comando actualizará el PodCIDR para el nodo especificado a 192.168.0.0/24, lo cual es compatible con el rango de dirección IP predeterminado de Calico.

    Después de actualizar el PodCIDR, los nuevos pods creados en los nodos maestros deberían recibir direcciones IP del conjunto de Calico en lugar de la red de Docker. Los pods existentes continuarán usando sus direcciones IP existentes hasta que sean eliminados y recreados.

    Tenga en cuenta que si hay varios nodos maestros en el clúster, este comando deberá ser ejecutado para cada nodo maestro para actualizar su configuración de PodCIDR.

Comments are closed.