Rancher静态IP用于容器

问题描述 投票:0回答:1

我正在尝试配置几个容器以使用添加到主机的静态IP地址。

我有服务器配置主IP 1.1.1.1并添加了一个虚拟接口(eth0:0)与IP地址2.2.2.21.1.1.12.2.2.2只是示例IP地址,以避免在这里留下真正的IP地址)。

我已经能够使用hostports 2.2.2.2:80802.2.2.2:2222配置2个容器来使用该IP地址。

我现在正在尝试使用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 web界面在1.1.1.12.2.2.2中回复,但我希望它只使用1.1.1.1,留下容器的其他IP地址和端口。

这些是我用来启动牧场主的命令,我不确定是否应该更改80443部分(在左侧或右侧)以匹配我想要映射到牧场主的正确公共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
docker kubernetes centos rancher
1个回答
1
投票

基于这些信息,我推断您使用相同的主机来运行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

© www.soinside.com 2019 - 2024. All rights reserved.