Я пытаюсь настроить несколько контейнеров для использования статического 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