Cree clústeres de ACK Edge para conectar los dispositivos de sus centros de datos y los dispositivos perimetrales a Container Service for Kubernetes (ACK). De este modo, podrá usar las funciones que ofrece ACK y gestionar los recursos de cómputo locales. En este tema se describen los conceptos clave y las arquitecturas de red que se utilizan en la red de un clúster de ACK Edge. Entre ellos se incluyen la red de conexión entre la nube y el perímetro, Container Network Interface (CNI), Service e Ingress. Conocer estos términos le ayudará a optimizar los modelos de despliegue de aplicaciones y los métodos de acceso a la red.
Modos de conexión de red entre la nube y el perímetro
Los clústeres de ACK Edge se pueden conectar mediante el modo de red pública o el modo de red privada.
Modo de red pública: los centros de datos locales y los dispositivos perimetrales se conectan a través de puertas de enlace NAT de Internet o controladores de interfaz de red (NIC) públicos. Esto permite acceder a los planos de control de ACK y a otros servicios de Alibaba Cloud.
Modo de red privada: los dispositivos de cómputo de los centros de datos y los dispositivos perimetrales se conectan mediante líneas arrendadas, puertas de enlace VPN u otras redes privadas. Así, es posible acceder a los planos de control de ACK alojados en la nube y a otros servicios de Alibaba Cloud. La siguiente figura usa What is Express Connect de Alibaba Cloud como ejemplo.
Componentes de comunicación de operaciones y mantenimiento entre la nube y el perímetro
Los clústeres de ACK Edge emplean una arquitectura de colaboración entre la nube y el perímetro. En ella, la nube central gestiona los centros de datos y los dispositivos perimetrales. Dado que los dispositivos de cómputo suelen estar distribuidos en varias regiones y dominios de red, la comunicación directa entre la nube central y el perímetro no es posible.
Para cubrir los requisitos de operaciones, mantenimiento y monitoreo que la nube central tiene sobre los dispositivos perimetrales, hay dos soluciones disponibles:
Comunicación por red privada: conecte la virtual private cloud (VPC) de la nube central con los centros de datos o los dispositivos del perímetro mediante redes privadas. Esto habilita la comunicación entre la nube y el perímetro.
Tunelización a través de Internet: use Raven, el componente de comunicación de operaciones y mantenimiento entre la nube y el perímetro, para establecer un túnel inverso por Internet. Este túnel inverso facilita la transferencia de datos de operaciones, mantenimiento y monitoreo entre la nube y el perímetro. Asegúrese de que los centros de datos o dispositivos perimetrales tengan acceso a Internet. Para obtener más información, consulte The Raven cross-domain O&M communication component.
CNI
Kubernetes usa los plugins de CNI para habilitar y estandarizar la red de contenedores:
Los pods se unen a la red de contenedores al crearse y salen de ella al eliminarse.
A cada pod se le asigna una dirección IP única.
Los pods se comunican con endpoints dentro y fuera del clúster.
Los plugins de CNI implementan la red de contenedores. El plugin de CNI que elija determina la asignación de direcciones IP de los pods, el uso de la red superpuesta, el reenvío de tráfico dentro del clúster y el control de acceso de los pods. Algunos plugins de CNI de código abierto muy conocidos son Calico, Flannel y Cilium.
Los clústeres de ACK Edge admiten los plugins de red Flannel y Terway Edge, cada uno con funciones distintas. Antes de crear un clúster, consulte las siguientes secciones para seleccionar el plugin de red adecuado.
Una vez creado el clúster, no es posible cambiar entre Terway Edge y Flannel.
Flannel (redes superpuestas para contenedores)
En los clústeres de ACK Edge, Flannel opera en modo Virtual Extensible Local Area Network (VXLAN) para establecer una red de contenedores sobre la red de host de capa 3. Esto permite la comunicación de pods entre distintos hosts.
El plugin de red Flannel garantiza que el bloque CIDR de los pods no se superponga con el bloque CIDR de la VPC. El bloque CIDR de los pods se divide de manera uniforme y se asigna a los nodos del clúster. A cada pod de un nodo se le asigna una dirección IP que pertenece al bloque CIDR de ese nodo. El plugin de red Flannel cuenta con las siguientes características:
El bloque CIDR de los pods no se superpone con el bloque CIDR de la VPC.
El host encapsula los paquetes de los contenedores mediante VXLAN para su transmisión.
No requiere configuración adicional de dispositivos de red externos, por lo que está listo para usarse de inmediato.
Para obtener más información sobre el plugin de red Flannel, consulte Flannel.
Terway Edge (redes subyacentes para contenedores)
Terway Edge adopta una solución de red nativa de la nube dentro del node pool en la nube. Configura la red de contenedores mediante interfaces de red elásticas (ENI). Las ENI son NIC virtuales que asignan direcciones IP dentro de una VPC a los pods. Para un node pool perimetral, especifique un bloque CIDR para los pods. Los contenedores obtendrán sus direcciones IP de este bloque CIDR. El plugin de red Terway Edge cuenta con las siguientes características:
El bloque CIDR de los pods en la nube y el de las instancias de Elastic Compute Service (ECS) se encuentran dentro del rango de direcciones IP de la VPC y están en el mismo plano de red.
El bloque CIDR de los pods perimetrales no se superpone con el bloque CIDR del host.
La comunicación entre pods se realiza sin encapsulación, lo que ofrece una eficiencia superior a la de la red superpuesta.
Es necesario configurar rutas en los dispositivos de red externos para transmitir los paquetes de los contenedores.
Admite el acceso directo a los contenedores del clúster desde hosts externos, otros contenedores y servicios en la nube mediante la IP del pod.
Para obtener más información sobre el plugin de red Terway Edge, consulte Terway Edge network plugin.
Descripción general de Service
Un Service es un método para exponer aplicaciones mediante un punto de entrada hacia un grupo de pods. ACK proporciona los siguientes tipos de Service para manejar solicitudes de distintas fuentes y clientes:
Tipo | Descripción |
ClusterIP | Un Service de tipo ClusterIP se utiliza para gestionar el acceso dentro del clúster. Si su aplicación necesita exponerse internamente, cree un Service de tipo ClusterIP. Nota De forma predeterminada, se selecciona ClusterIP cuando crea un Service. |
NodePort | Un Service de tipo NodePort expone una aplicación a Internet. Use la dirección IP y el puerto de un nodo del clúster para exponerla. De esta manera, se accede a la aplicación mediante la dirección IP y el puerto del nodo. |
LoadBalancer | Un Service de tipo LoadBalancer expone una aplicación a Internet. Este tipo de Service usa una instancia de SLB para lograrlo, por lo que ofrece mayor disponibilidad y rendimiento que los Services de tipo NodePort. Para obtener más información sobre cómo exponer aplicaciones con un Service de tipo LoadBalancer, consulte Use LoadBalancer Services to expose applications. |
Headless Service | Un Headless Service se define al establecer el campo |
ExternalName | Un Service de tipo ExternalName asigna un nombre de servicio interno a un nombre de dominio externo. Esto permite que los pods dentro del clúster accedan al dominio externo con el nombre del servicio interno. |
En los clústeres de ACK Edge, los recursos de cómputo suelen estar distribuidos en distintos dominios de red. A continuación se presentan las funciones diseñadas para estos escenarios distribuidos:
|
Función |
Descripción |
|
Topología de Service |
La topología de Service garantiza que las solicitudes de los clientes se dirijan a los pods del backend que estén en el mismo dominio de red o en el mismo nodo. Por lo tanto, restringe la comunicación entre clientes y pods de servicio ubicados en distintos dominios de red. Para obtener más información, consulte Service topology for node pools. |
|
Aislamiento de puertos para Services de tipo NodePort |
Para aislar los puertos de los Services de tipo NodePort en varios dominios de red, configure la escucha de NodePort según los node pools. Para obtener más información, consulte Configure NodePort listening based on node pools. |
Descripción general de Ingress
En los clústeres de ACK Edge, los Services admiten el balanceo de carga de capa 4. Sin embargo, los Ingress gestionan el acceso externo a los Services del clúster en la capa 7. Un Ingress funciona como un punto de acceso que expone varios Services del clúster. Con los Ingress, configure distintas reglas de reenvío de capa 7. Por ejemplo, reenvíe solicitudes a diferentes Services según los nombres de dominio o las rutas. Para obtener más información, consulte Ingress overview.