En los clústeres ACK Edge, Raven proporciona comunicación entre dominios de red para facilitar las operaciones y el mantenimiento (O&M) en múltiples regiones entre la nube y la periferia. Este tema describe los conceptos de Raven, su funcionamiento y sus capacidades.
Raven admite el modo proxy (capa 7, gestiona conflictos de IP) y el modo túnel (capa 3, conectividad a nivel de contenedor).
Contexto
Los clústeres ACK Edge utilizan una arquitectura nube-periferia: los componentes del plano de control se ejecutan en la nube, mientras que las cargas de trabajo se ejecutan en centros de datos o dispositivos perimetrales. Los nodos perimetrales se conectan al endpoint público del plano de control a través de Internet.
Los nodos perimetrales se agrupan en node pools, cada uno de los cuales representa un dominio de red distinto. Los nodos de diferentes node pools no pueden comunicarse directamente y es posible que tengan direcciones IP superpuestas. Este aislamiento es intencional, pero impide que los componentes del lado de la nube accedan a las cargas de trabajo perimetrales para tareas de monitoreo y operaciones.
Funcionamiento
Raven opera en dos fases: primero establece túneles entre los nodos de puerta de enlace y luego reenvía el tráfico entre dominios a través de dichos túneles.
Fase 1: Inicialización
Cada node pool elige un nodo como puerta de enlace perimetral. Los nodos únicos actúan como su propia puerta de enlace.
El DaemonSet raven-agent-ds se ejecuta en cada nodo en modo de red de host. En los nodos de puerta de enlace, establece túneles cifrados hacia la puerta de enlace de la nube.
El componente del plano de control ack-edge-yurt-manager divide los nodos en dominios de red según su pertenencia a node pools y crea un recurso personalizado
gatewaypara cada dominio.
Fase 2: Reenvío de solicitudes
Las solicitudes entre dominios provenientes de componentes del lado de la nube se enrutan a través del nodo de puerta de enlace de la nube hacia el nodo de puerta de enlace perimetral correspondiente.
El nodo de puerta de enlace perimetral reenvía las solicitudes al host, contenedor o servicio destino dentro de su dominio de red.
Elija un modo de comunicación
Elija el modo según si sus node pools presentan conflictos de direcciones IP.
|
Modo |
Tipo de tráfico |
Admite conflictos de IP |
Cuándo utilizarlo |
|
Modo proxy |
Nivel de host (capa 7) |
Sí |
Cuando los node pools tienen conflictos de IP o necesita usar |
|
Modo túnel |
Nivel de contenedor (capa 3) |
No |
Cuando los node pools tienen conectividad entre nodos y no existen conflictos de IP |
Modo proxy
El modo proxy crea un canal inverso cifrado entre el nodo de puerta de enlace perimetral y el nodo de puerta de enlace de la nube. La puerta de enlace de la nube reenvía las solicitudes entre dominios a la puerta de enlace perimetral en la capa 7 e identifica los destinos mediante NodeName+Port. Un nodo único actúa como su propia puerta de enlace y establece un túnel directo hacia la puerta de enlace de la nube.
El modo proxy admite:
Comunicación de red de host para APIServer, MetricsServer y Prometheus
kubectl logs,kubectl exec,kubectl attachykubectl topNode pools con rangos de direcciones IP en conflicto
En escenarios con conflictos de IP, utilice el modo proxy, ya que el modo túnel no puede enrutar tráfico a nivel de host cuando las direcciones IP se superponen entre dominios de red.
Modo túnel
El modo túnel crea túneles IPsec-VPN entre el nodo de puerta de enlace perimetral y el nodo de puerta de enlace de la nube. Dentro de cada dominio de red, Raven crea una red superpuesta Virtual Extensible LAN (VXLAN) mediante Flannel VXLAN, y todo el tráfico de contenedores entre dominios se enruta a través del túnel VPN vía VXLAN.
El modo túnel admite:
Comunicación entre contenedores a través de dominios de red
Recolección de métricas de contenedores perimetrales por parte de Prometheus
El modo túnel requiere conectividad directa entre nodos dentro de cada node pool.
Puede producirse pérdida de datos durante la comunicación entre dominios a través de Internet. No utilice el modo túnel para transmitir datos críticos para el negocio. Si tiene problemas o sugerencias, envíe un ticket para ponerse en contacto con el equipo técnico de ACK.
Arquitectura de componentes
Raven consta de dos componentes:
|
Componente |
Tipo |
Función |
|
ack-edge-yurt-manager |
Plano de control |
Divide los nodos en dominios de red según los node pools y crea recursos personalizados |
|
raven-agent-ds |
Plano de datos (DaemonSet) |
Se ejecuta en cada nodo; configura rutas o túneles VPN entre los nodos de puerta de enlace |
Raven requiere un recurso personalizado de clúster gateway para almacenar los datos de nodos y configuración de cada dominio de red.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Un clúster ACK Edge que ejecute Kubernetes 1.26.3 o posterior
Como mínimo una instancia de Elastic Compute Service (ECS) designada como nodo de puerta de enlace de la nube (durante la creación del clúster)
Si los hosts perimetrales acceden al plano de control a través de Internet: una instancia de Classic Load Balancer (CLB), una dirección IP elástica (EIP) y listas de control de acceso de red (ACL) configuradas
Siguientes pasos
Para cambiar el modo de comunicación, configurar ACL de red o establecer puertas de enlace personalizadas, consulte Use the cross-region O&M communication component Raven.
Para consultar las notas de la versión de raven-agent-ds, consulte raven-agent-ds.