Ранчо статический IP для контейнеров - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь настроить несколько контейнеров для использования статического IP-адреса, добавленного к хосту.

Я настроил сервер с основным IP-адресом 1.1.1.1 и добавил виртуальный интерфейс (eth0: 0) с IP-адресом 2.2.2.2 (1.1.1.1 и 2.2.2.2 являются только примерами IP-адресов, чтобы не оставлять настоящие здесь).

Мне удалось настроить 2 контейнера для использования этого IP-адреса, используя хост-порты 2.2.2.2:8080 и 2.2.2.2:2222.

Я сейчас пытаюсь добавить третий контейнер с hostport 2.2.2.2:80

Когда я пытаюсь это сделать, я получаю следующую ошибку:

0/1 nodes are available: 1 node(s) didn't have free ports for the requested pod ports.

Какая конфигурация мне здесь не хватает? Веб-интерфейс Rancher отвечает в 1.1.1.1 и 2.2.2.2, но я бы хотел, чтобы он использовал только 1.1.1.1, оставляя другие IP-адреса и порты для контейнеров.

Это команды, которые я использовал для запуска ранчо, и я не уверен, что мне следует изменить часть 80 или 443 (слева или справа), чтобы она соответствовала правильному общедоступному IP-адресу, который я хочу отобразить владельцу ранчо:

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.1.7 --server https://[MY_HOST] --token [token] --ca-checksum [ca-chaecksum] --etcd --controlplane --worker

1 Ответ

1 голос
/ 26 марта 2019

Основываясь на информации, я делаю вывод, что вы используете тот же хост для запуска Rancher, а также для регистрации в кластере.

Когда вы указываете -p 80:80, это означает 0.0.0.0:80:80, поэтому все IP-адреса израсходованы. Следовательно, когда вы попытаетесь запустить контейнер позже, чтобы открыть порт 80, он потерпит неудачу.

Чтобы не прослушивать все IP-адреса, необходимо указать IP-адрес для прослушивания при запуске контейнера сервера Rancher.

Пример: docker run -d --restart=unless-stopped -p 1.1.1.1:80:80 -p 1.1.1.1:443:443 rancher/rancher

...