Доступ в интернет Kubernetes с двумя сетевыми интерфейсами - PullRequest
0 голосов
/ 16 февраля 2019

Я новичок в kubernetes, и у меня есть вопрос о сети kubernetes.В моей настройке каждый узел имеет два интерфейса.первый интерфейс (eth0) находится в закрытом диапазоне (например, 172.20.12.10), а второй имеет открытый адрес.

auto eth0 
iface eth0 inet static
    address 172.20.12.10
    netmask 255.255.0.0
    network 172.20.0.0
    broadcast 172.16.255.255
    dns-nameservers 8.8.8.8
auto eth1
iface eth1 inet static
address x.x.x.x
gateway y.y.y.y 

очевидно, что сетевые конфигурации kubernetes зависят от шлюза по умолчанию узла, поэтому вышеупомянутая конфигурация сети узла не 'не работает правильно.

мой вопрос: как я могу получить доступ к Интернету в моих контейнерах?

1 Ответ

0 голосов
/ 18 февраля 2019

Аргумент --apiserver-advertise-address для kubeadm init можно использовать, чтобы заставить k8s использовать интерфейс, отличный от сетевого интерфейса узлов по умолчанию:

--apiserver-advertise-address string
    The IP address the API Server will advertise it's listening on.
    Specify '0.0.0.0' to use the address of the default network interface.

Кроме того, добавьте флаг к /etc/systemd/system/kubelet.service.d/10-kubeadm.conf, которыйуказывает частный IP-адрес рабочего узла:

--node-ip=<private-node-ip>

Наконец, когда вы запускаете kubeadm join на рабочих узлах, убедитесь, что вы указали частный IP-адрес сервера API.

Дополнительноинформация в:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...