Ir al contenido principal

¿Qué es Kube-Proxy? Que relación tiene con CNI (Container Network Interface)

 


El CNI se centra en establecer la conectividad básica para los Pods y garantizar que puedan comunicarse entre ellos y con el mundo exterior, mientras que el kube-proxy gestiona el tráfico a nivel de servicio y balanceo de carga, redirigiendo las solicitudes hacia los Pods correctos.

Relación entre ellos

  1. CNI configura la conectividad básica para que los Pods puedan comunicarse.
  2. kube-proxy utiliza esta conectividad para gestionar el tráfico hacia y desde los Pods, asegurando el balanceo y redirección de tráfico a nivel de servicio.

Ambos son esenciales, pero tienen funciones distintas. El CNI actúa a nivel de red básica y el kube-proxy opera en una capa lógica superior, gestionando cómo se distribuye el tráfico dentro del clúster.

Funciones del kube-proxy

  1. Gestión del tráfico a nivel de servicio:

    • Redirige el tráfico entrante dirigido a un Servicio Kubernetes (ClusterIP, NodePort, LoadBalancer) hacia los Pods backend.
  2. Creación de reglas de red:

    • Configura reglas de red (iptables, IPVS o user-space) en cada nodo para dirigir el tráfico desde los servicios a los Pods.
  3. Balanceo de carga:

    • Distribuye el tráfico de un servicio entre los Pods asociados de manera equilibrada.
  4. Compatibilidad con diferentes tipos de servicios:

    • Maneja:
      • ClusterIP: Trafico interno dentro del clúster.
      • NodePort: Exposición de servicios en puertos del nodo.
      • LoadBalancer: Integración con balanceadores de carga externos.
  5. Mantenimiento de conexiones persistentes:

    • Asegura que las conexiones existentes no se interrumpan durante actualizaciones de Pods o cambios en el backend.

Funciones del CNI (Container Network Interface)

  1. Asignación de IP a los Pods:

    • Proporciona direcciones IP únicas para los Pods dentro del clúster.
  2. Configuración de interfaces de red:

    • Configura las interfaces de red dentro de los contenedores (por ejemplo, eth0 en el namespace del contenedor).
  3. Provisión de conectividad Pod a Pod:

    • Asegura que los Pods puedan comunicarse entre sí, incluso si están en nodos diferentes.
    • Puede utilizar métodos como VXLAN, IP-in-IP o redes planas.
  4. Soporte para políticas de red:

    • Implementa políticas de red (Network Policies) para restringir o permitir el tráfico entre Pods o namespaces.
  5. Rutas para tráfico fuera del clúster:

    • Configura cómo el tráfico desde los Pods puede salir del clúster hacia internet o redes externas.
  6. Encapsulación y encapsulado:

    • Gestiona tecnologías como encapsulación IP-in-IP o VXLAN si la red del clúster requiere aislamiento o enrutamiento.

Comentarios

Entradas populares de este blog

Autenticación y Autorización (Kubernetes).

La autenticación en Kubernetes es un aspecto crítico para la seguridad y control de acceso dentro de un clúster. Kubernetes proporciona varios mecanismos de autenticación para usuarios y cuentas de servicio, que deben pasar a través del API Server para realizar cualquier operación. En este artículo, revisaremos cómo funciona la autenticación y cómo puedes usar herramientas como kubectl y curl para interactuar de manera segura con el clúster. En primer lugar, ¿Qué es la autenticación y la autorización? •     Autenticación:  Es el proceso de verificar quién es un usuario. Responde a la pregunta "¿Quién eres?". •     Autorización: El proceso de determinar qué acciones puede realizar un usuario autenticado. Responde a la pregunta "¿Qué puedes hacer?". Primer paso: Autenticación. La autenticación en Kubernetes es el proceso mediante el cual el sistema verifica la identidad de los usuarios y cuentas de servicio que intentan acceder al clúster.  ...

Tip 1. Exámen CKA. Economiza y optimiza tu tiempo; Usa --help con el paginador Less en la ayuda.

📘 Domina los comandos --help y el uso de less en el examen CKA Durante el examen CKA (Certified Kubernetes Administrator) , uno de los recursos más potentes y completamente permitidos es el uso del --help en los comandos de Kubernetes. Además, puedes combinarlo con el paginador less para buscar y navegar fácilmente entre opciones. ✅ ¿Está permitido usar --help ? Sí, está 100% permitido . Puedes usar el --help de cualquier comando disponible en el entorno del examen: kubectl --help kubeadm init --help kubelet --help kubectl explain pod.spec.containers Estos comandos muestran la ayuda y las opciones disponibles directamente desde el sistema, sin necesidad de ir a la documentación. 🔍 ¿Cómo usar less para buscar rápidamente? Cuando la salida del comando es larga, puedes usar | less para verla de forma paginada y navegar más cómodamente. kubeadm init --help | less Una vez dentro de less , puedes buscar cualquier texto escribiendo /texto . Por ejemplo: /pod-networ...

TLS Bootstrapping en Kubernetes: Qué es, cómo funciona y por qué importa en el examen CKA

                                                       Uno de los conceptos que a menudo pasan desapercibidos en la administración de Kubernetes —pero que resultan clave tanto en entornos reales como en el examen CKA— es el TLS Bootstrapping . En este artículo entenderás qué es, cómo funciona, qué lo diferencia del kubeadm join tradicional y cómo puede aparecer en el examen. ¿Qué es TLS Bootstrapping? TLS Bootstrapping es el proceso por el cual el kubelet , el agente que corre en cada nodo, obtiene automáticamente un certificado TLS firmado por el clúster para autenticarse con el kube-apiserver . En otras palabras: permite que un nuevo nodo se una de forma segura al clúster sin necesidad de copiar manualmente los certificados. ¿Por qué es necesario? Cuando añades un nuevo nodo worker, su kubelet necesita autentic...