Tenho 3 nós executando vários OpenVPN pods
, cada pod possui uma rede VPN de 100.70.0.0/16
, e os clientes que se conectam a esses pods recebem endereços IP neste intervalo, por exemplo, digamos que aquele cliente 100.70.162.91
se conectou a um dos pods.
Agora, quero adicionar mais pods executando serviços diferentes neste cluster, e cada pod deve ser capaz de se comunicar com todos os clientes VPN. Uma das grandes etapas do caminho que eu faria isso até agora, usando o AWS ECS, é adicionar uma rota, como ip route add 100.70.192.91/32 via <OpenVPN-pod-IPv4>/32
na tabela de rotas de sub-rede do cluster VPC, uma vez que um cliente se conecta usando a API da AWS, esse método parece funcionar também usando docker-compose
e Kubernetes
contanto que todos os pods estejam na mesma rede.
No entanto, agora que estou tentando migrar do ECS para o Kubernetes, não consigo encontrar nenhuma maneira de adicionar rotas estáticas de rede para todo o cluster no Kubernetes.
Qual seria a melhor maneira de implementar isso no Kubernetes?
Responder1
se você usar o vanilla k8s em vez do ECS, terá a opção de adicionar essas rotas nos nós de trabalho. Portanto, o tráfego de pod para redes não-k8s (a rede de clientes VPN é diferente da rede de pods k8s) sairia por meio da tabela de roteamento de nós de trabalho. Você precisa adicionar uma rota estática à rede de clientes VPN em nós de trabalho. O destino da rota que você definiu IP do vpn-pod. É acessível a partir de qualquer nó de trabalho k8s.