Descripción general
Puede obtener información sobre una red de clústeres de los dos aspectos siguientes:
- ¿Cómo es una red de clústeres? Un clúster consta de varios nodos, y los pods (o contenedores) se ejecutan en los nodos. Los nodos y los contenedores necesitan comunicarse entre sí. Para obtener más información acerca de los tipos de red del clúster y sus funciones, consulte Estructura de red de clústeres.
- ¿Cómo se implementa el acceso a pod en un clúster? El acceso a un pod o contenedor es un proceso de acceso a los servicios de un usuario. Kubernetes proporciona Service y Entrada para solucionar problemas de acceso a pods. Esta sección resume los escenarios comunes de acceso a la red. Puede seleccionar el escenario adecuado en función de los requisitos del sitio. Para obtener más información sobre los escenarios de acceso a la red, consulte Escenarios de acceso.
Estructura de red de clústeres
Todos los nodos del clúster se encuentran en una VPC y utilizan la red VPC. La red de contenedor es gestionada por complementos de red dedicados.
- Red de nodo
Una red de nodos asigna direcciones IP a hosts (nodos en la figura anterior) en un clúster. Debe seleccionar una subred de VPC como red de nodo del clúster de CCE. El número de direcciones IP disponibles en una subred determina el número máximo de nodos (incluidos los nodos maestros y los nodos de trabajo) que se pueden crear en un clúster. Esta cantidad también se ve afectada por la red de contenedor. Para obtener más información, consulte el modelo de red de contenedor.
- Red de contenedor
Una red de contenedor asigna direcciones IP a contenedores en un clúster. CCE hereda el modelo de red IP-Per-Pod-Per-Network de Kubernetes. Es decir, cada pod tiene una dirección IP independiente en un plano de red y todos los contenedores en un pod comparten el mismo espacio de nombres de red. Todos los pods de un clúster existen en una red plana conectada directamente. Pueden acceder entre sí con sus direcciones IP sin usar NAT. Kubernetes solo proporciona un mecanismo de red para los pods, pero no configura directamente las redes de pods. La configuración de redes pod se implementa mediante complementos de la red de contenedor específicos. Los complementos de red de contenedor son responsables de configurar las redes para los pods y gestionar las direcciones IP de contenedor.
Actualmente, CCE es compatible con los siguientes modelos de la red de contenedor:
- Red de túneles de contenedores: La red de túneles de contenedor se construye sobre la red de nodos, pero es independiente de ella, con la encapsulación de túneles. Este modelo de red utiliza VXLAN para encapsular paquetes de Ethernet en paquetes de UDP y los transmite en túneles. Open vSwitch sirve como el conmutador virtual de back-end.
- Red de VPC: La red de VPC utiliza el enrutamiento de VPC para integrarse con la red subyacente. Este modelo de red es aplicable a escenarios de alto rendimiento. El número máximo de nodos permitidos en un clúster depende de la cuota de ruta en una red de VPC. A cada nodo se le asigna un bloque CIDR de un tamaño fijo. Este modelo de red está libre de sobrecarga de encapsulación de túnel y supera el modelo de red de túnel contenedor. Además, como el enrutamiento de VPC incluye rutas a direcciones IP de nodo y el bloque CIDR de contenedor, se puede acceder directamente a los pods de contenedor en un clúster desde fuera del clúster.
- Desarrollado por CCE, Cloud Native Network 2.0 integra profundamente las interfaces de red elástica (ENI) y las interfaces de subred (sub-ENI) de VPC. Las direcciones IP del contenedor se asignan desde el bloque CIDR de VPC. Se admite la red de paso a través de ELB para las solicitudes de acceso directo a contenedores. Los grupos de seguridad y las IP elásticas (EIP) están destinados a ofrecer un alto rendimiento.
El rendimiento, la escala de red y los escenarios de aplicación de una red contenedor varían según el modelo de red contenedor. Para obtener más información sobre las funciones y características de los diferentes modelos de la red de contenedor, consulte Descripción general.
- Red de Service
El Service también es un objeto de Kubernetes. Cada Service tiene una dirección IP fija. Al crear un clúster en CCE, puede especificar el bloque CIDR de Service. El bloque CIDR de Service no puede superponerse con el bloque CIDR de nodo o contenedor. El bloque CIDR de Service solo se puede usar dentro de un clúster.
Service
Se utiliza un Service para el acceso a pods. Con una dirección IP fija, un Service reenvía el tráfico de acceso a los pods y realiza el balanceo de carga para estos pods.
Puede configurar los siguientes tipos de servicios:
- ClusterIP: se utiliza para hacer que el Service solo sea accesible desde un clúster.
- NodePort: se utiliza para el acceso desde fuera de un clúster. Se accede a un Service de NodePort a través del puerto del nodo.
- LoadBalancer: se utiliza para el acceso desde fuera de un clúster. Es una extensión de NodePort a la que un balanceador de carga se dirige, y los sistemas externos solo necesitan acceder al balanceador de carga.
- DNAT: se utiliza para el acceso desde fuera de un clúster. Traduce direcciones para nodos de clúster y permite que varios nodos de clúster compartan una EIP.
Para obtener más información sobre el Service, consulte Descripción general.
Entrada
Services reenvía solicitudes con protocolos TCP y UDP de capa 4. Ingress reenvía solicitudes con protocolos HTTP y HTTPS de capa 7. Los nombres de dominio y las rutas se pueden usar para lograr detalles más finos.
Para obtener más información sobre la entrada, consulte Descripción de entrada.
Escenarios de acceso
Los escenarios de acceso a la carga de trabajo se pueden clasificar de la siguiente manera:
- Acceso dentro del clúster: se utiliza un Service de ClusterIP para que las cargas de trabajo del mismo clúster tengan acceso entre sí.
- Acceso desde fuera de un clúster: se recomienda un Service (tipo NodePort o LoadBalancer) o un ingreso para una carga de trabajo fuera de un clúster para acceder a las cargas de trabajo del clúster.
- Acceso con la red pública: Una EIP debe estar vinculada al nodo o al balanceador de carga.
- Acceso con la red privada: Se puede acceder a la carga de trabajo con la dirección IP interna del nodo o balanceador de carga. Si las cargas de trabajo se encuentran en diferentes VPC, se requiere una interconexión para permitir la comunicación entre diferentes VPC.
- La carga de trabajo puede acceder a la red externa de la siguiente manera:
- Acceso a una intranet: la carga de trabajo accede a la dirección de intranet, pero el método de implementación varía según los modelos de la red de contenedor. Asegúrese de que el grupo de seguridad del par permita las solicitudes de acceso desde el bloque CIDR contenedor. Para más detalles, consulte Configuración del acceso dentro de la VPC.
- Acceso a una red pública: Es necesario asignar una EIP al nodo donde se ejecuta la carga de trabajo (cuando se utiliza el modelo de red de VPC o de túnel), vincular una EIP a la dirección IP del pod (cuando se utiliza el modelo de red nativa de nube 2.0) o configurar reglas de SNAT con el gateway de NAT. Para obtener más información, véase Acceso a redes públicas desde un contenedor.