
Каким образом собственная сеть GCP/GKE VPC реализует назначение псевдонима IP каждому модулю?
Как вGoogle Kubernetes Engine – Сетевые технологии, каждый модуль будет иметь IP-адрес из диапазона CIDR вторичного IP-адреса подсети (например, 10.4.1.1).
Каждый pod в экземпляре Linux имеет свой veth I/F. Как каждый veth(i) для pod(i) связан с сетевым интерфейсом Linux box, в котором работают pod? Каждый pod (veth) имеет свой собственный сетевой интерфейс, подключенный к Linux box, или все pod и veth интерфейсы совместно используют один eth0?
В соответствии сСеть Kubernetes в Google Cloudуказывает, что один eth0 Linux box используется совместно pod'ами. Тогда один eth0 имеет несколько вторичных псевдонимов IP-адресов, связанных с ним. Тогда как Linux box может разделить пакеты на каждый псевдоним IP и направить их в соответствующий pod/veth? Используется ли iptable для сопоставления псевдонима IP с veth?
Документ GKEДиапазоны псевдонимов IP, определенные в сетевом интерфейсе виртуальной машинынет подробностей.
решение1
Каким образом каждый veth для pod'а связан с сетевым интерфейсом Linux-бокса, на котором работают pod'ы?
GKE создаетсетевое пространство имендля подключениястручкиveth с eth0 узла.
Каждый модуль (veth) имеет свой собственный сетевой интерфейс, подключенный к Linux-боксу, или все модули и интерфейсы veth используют один и тот же eth0?
Все veth подключены к одному интерфейсу eth0 через мост (cbr0).схема
Как linux box может разделить пакеты для каждого alis IP и направить их в соответствующий pod/veth? Использует ли он iptable для сопоставления alias IP с veth?
kube-проксиредактирует iptable на узле, чтобы направлять трафик на соответствующие модули.
Более подробную информацию вы можете найти здесьстатьяи это stackoverflow отвечать.