容器的 Rancher 静态 IP
Rancher static IP for containers
我正在尝试配置一些容器以使用添加到主机的静态 IP 地址。
我为服务器配置了主 IP 1.1.1.1
,并添加了一个 IP 地址为 2.2.2.2
的虚拟接口 (eth0:0)(1.1.1.1
和 2.2.2.2
只是例如 IP 地址,以避免在此处留下真实的地址)。
我已经能够使用主机端口 2.2.2.2:8080
和 2.2.2.2:2222
.
配置 2 个容器来使用该 IP 地址
我现在正尝试添加第三个容器,主机端口为 2.2.2.2:80
当我尝试这样做时,收到以下错误:
0/1 nodes are available: 1 node(s) didn't have free ports for the requested pod ports.
我在这里缺少什么配置? Rancher Web 界面在 1.1.1.1
和 2.2.2.2
中回复,但我希望它只使用 1.1.1.1
,将其他 IP 地址和端口留给容器。
这些是我用来启动 rancher 的命令,我不确定是否应该更改 80
或 443
部分(左侧或右侧)以匹配正确的public我要映射到rancher的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
根据这些信息,我推断您使用的是同一台主机 运行 Rancher 并且也在集群中注册。
当您指定-p 80:80
时,表示0.0.0.0:80:80
,所以所有的IP地址都用完了。因此,当您稍后尝试 运行 一个容器以暴露端口 80 时,它将失败。
为了能够不监听所有 IP 地址,您需要在 运行 连接 Rancher 服务器容器时指定要监听的 IP 地址。
示例:docker run -d --restart=unless-stopped -p 1.1.1.1:80:80 -p 1.1.1.1:443:443 rancher/rancher
我正在尝试配置一些容器以使用添加到主机的静态 IP 地址。
我为服务器配置了主 IP 1.1.1.1
,并添加了一个 IP 地址为 2.2.2.2
的虚拟接口 (eth0:0)(1.1.1.1
和 2.2.2.2
只是例如 IP 地址,以避免在此处留下真实的地址)。
我已经能够使用主机端口 2.2.2.2:8080
和 2.2.2.2:2222
.
我现在正尝试添加第三个容器,主机端口为 2.2.2.2:80
当我尝试这样做时,收到以下错误:
0/1 nodes are available: 1 node(s) didn't have free ports for the requested pod ports.
我在这里缺少什么配置? Rancher Web 界面在 1.1.1.1
和 2.2.2.2
中回复,但我希望它只使用 1.1.1.1
,将其他 IP 地址和端口留给容器。
这些是我用来启动 rancher 的命令,我不确定是否应该更改 80
或 443
部分(左侧或右侧)以匹配正确的public我要映射到rancher的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
根据这些信息,我推断您使用的是同一台主机 运行 Rancher 并且也在集群中注册。
当您指定-p 80:80
时,表示0.0.0.0:80:80
,所以所有的IP地址都用完了。因此,当您稍后尝试 运行 一个容器以暴露端口 80 时,它将失败。
为了能够不监听所有 IP 地址,您需要在 运行 连接 Rancher 服务器容器时指定要监听的 IP 地址。
示例:docker run -d --restart=unless-stopped -p 1.1.1.1:80:80 -p 1.1.1.1:443:443 rancher/rancher