
GCP/GKE VPC 기본 네트워크는 각 포드에 별칭 IP 할당을 어떻게 구현하나요?
에서와 같이Google Kubernetes Engine – 네트워킹, 각 포드는 서브넷의 보조 IP CIDR 범위(예: 10.4.1.1)의 IP를 갖습니다.
Linux 인스턴스의 각 포드에는 자체 I/F가 있습니다. 포드(i)에 대한 각 veth(i)는 포드가 실행되는 Linux 상자의 네트워크 인터페이스에 어떻게 연결됩니까? 각 포드(veth)에는 Linux 상자에 연결된 자체 네트워크 인터페이스가 있습니다. 아니면 모든 포드와 veth 인터페이스가 단일 eth0?
에 따르면Google Cloud의 Kubernetes 네트워킹Linux 상자의 단일 eth0이 포드 간에 공유됨을 나타냅니다. 그런 다음 단일 eth0에는 연결된 여러 개의 보조 별칭 IP 주소가 있습니다. 그렇다면 Linux 박스는 어떻게 패킷을 각 별칭 IP로 분리하고 해당 포드/veth로 라우팅할 수 있습니까? 별칭 IP를 veth에 매핑하기 위해 iptable을 사용하고 있습니까?
GKE 문서VM 네트워크 인터페이스에 정의된 별칭 IP 범위세부 사항이 없습니다.
답변1
포드에 대한 각 veth는 포드가 실행되는 Linux 상자의 네트워크 인터페이스에 어떻게 연결됩니까?
GKE는네트워크 네임스페이스연결꼬투리노드의 eth0을 사용하여 veth를 실행합니다.
각 포드(veth)에는 Linux 상자에 연결된 자체 네트워크 인터페이스가 있습니다. 아니면 모든 포드와 veth 인터페이스가 단일 eth0?
모든 veth는 브리지(cbr0)를 통해 단일 eth0 인터페이스에 연결됩니다.개략도
Linux 상자는 어떻게 패킷을 각 alis IP로 분리하고 해당 포드/veth로 라우팅할 수 있습니까? 별칭 IP를 veth에 매핑하기 위해 iptable을 사용하고 있습니까?
큐브 프록시트래픽을 적절한 포드로 라우팅하기 위해 노드의 iptable을 편집합니다.