Tengo 3 nodos ejecutando varios OpenVPN pods
, cada pod tiene una red VPN 100.70.0.0/16
y los clientes que se conectan a estos pods reciben direcciones IP en este rango, por ejemplo, digamos que el cliente 100.70.162.91
se conectó a uno de los pods.
Ahora quiero agregar más pods que ejecuten diferentes servicios en este clúster y cada pod debe poder comunicarse con cada cliente VPN. Uno de los grandes pasos en la forma en que haría esto hasta ahora, usando AWS ECS, es agregar una ruta, como ip route add 100.70.192.91/32 via <OpenVPN-pod-IPv4>/32
en la tabla de rutas de subred de la VPC del clúster, una vez que un cliente se conecta usando la API de AWS, este método parece funcionar también usando docker-compose
y Kubernetes
siempre que todos los pods estén en la misma red.
Sin embargo, ahora que estoy intentando migrar de ECS a Kubernetes, parece que no puedo encontrar ninguna manera de agregar rutas estáticas de red en todo el clúster en Kubernetes.
¿Cuál sería la mejor manera de implementar esto en Kubernetes?
Respuesta1
Si usa Vanilla K8 en lugar de ECS, tiene la opción de agregar dichas rutas en los nodos trabajadores. Por lo tanto, el tráfico de pods a redes que no son k8 (la red de clientes VPN es diferente de la red de pods k8s) saldría a través de la tabla de enrutamiento de nodos trabajadores. Necesita agregar una ruta estática a la red de clientes VPN en los nodos trabajadores. El destino de la ruta que configuró vpn-pod IP. Es accesible desde cualquier nodo trabajador de k8s.