Kubernetes 클러스터의 모든 포드에 정적 경로를 추가하는 가장 좋은 방법은 무엇입니까?

Kubernetes 클러스터의 모든 포드에 정적 경로를 추가하는 가장 좋은 방법은 무엇입니까?

여러 개를 실행하는 3개의 노드가 있고 OpenVPN pods각 포드에는 VPN 네트워크가 있으며 이러한 포드에 연결하는 클라이언트는 이 범위의 IP 주소를 받습니다. 예를 들어 클라이언트가 포드 중 하나에 연결되어 있다고 100.70.0.0/16가정해 보겠습니다 .100.70.162.91

이제 이 클러스터에서 다양한 서비스를 실행하는 Pod를 더 추가하고 각 Pod는 모든 VPN 클라이언트와 통신할 수 있어야 합니다. 지금까지 AWS ECS를 사용하여 이 작업을 수행한 가장 큰 단계 중 하나는 ip route add 100.70.192.91/32 via <OpenVPN-pod-IPv4>/32클라이언트가 AWS API를 사용하여 연결한 후 클러스터 VPC의 서브넷 라우팅 테이블과 같은 경로를 추가하는 것입니다. 이 방법은 다음을 사용하여도 작동하는 것으로 보입니다 docker-compose. Kubernetes모든 포드가 동일한 네트워크에 있는 한.

그러나 이제 ECS에서 Kubernetes로 마이그레이션하려고 하므로 Kubernetes에 클러스터 전체 네트워크 정적 경로를 추가하는 방법을 찾을 수 없는 것 같습니다.

Kubernetes에서 이를 구현하는 가장 좋은 방법은 무엇입니까?

답변1

ECS 대신 바닐라 k8s를 사용하는 경우 작업자 노드에 해당 경로를 추가할 수 있는 옵션이 있습니다. 따라서 비k8s(VPN 클라이언트 네트워크는 k8s 포드 네트워크와 다름) 네트워크에 대한 포드 트래픽은 작업자 노드 라우팅 테이블을 통해 송신됩니다. 작업자 노드의 VPN 클라이언트 네트워크에 고정 경로를 추가해야 합니다. vpn-pod IP를 설정한 경로 대상입니다. 모든 k8s 작업자 노드에서 액세스할 수 있습니다.

관련 정보