S A*_*rew 12 networking nodes kubernetes
我创建了一个kubernetes集群,其中有一个主节点和两个工作节点.我使用下面的命令初始化主节点
sudo kubeadm init --token-ttl=0 --apiserver-advertise-address=192.168.0.27
Run Code Online (Sandbox Code Playgroud)
192.168.0.27是主节点的IP地址.然后我使用生成的令牌启动我的工作节点.现在问题是我的网络在DHCP中,并且ip地址有时会发生变化,因为它开始显示以下错误:
Unable to connect to the server: dial tcp 192.168.0.27:6443: getsockopt: no route to host
Run Code Online (Sandbox Code Playgroud)
它显示上面的错误,因为在初始化主节点时,我已经使用了ip地址,并且在ip地址改变之后,它无法访问它.
是否可以以某种方式配置主节点和其他节点,以便它们可以在任何IP地址更改时工作.
谢谢
正如 @Suresh Vishnoi 提到的,由于实现原因,在当前稳定版本的 Kubernetes 中不可能设置 DNS 名称。
但是,具有该功能的合并请求 - DNS 名称而不是 IP 地址的新密钥已合并到 Kubernetes master 中,并可从版本 中获取v1.10.0-beta.4。
在您的情况下,不可能使用 DNS 名称进行发现,但是,您可以设置 DHCP 服务器来将 DHCP 池中的 IP 地址关联到主设备的 MAC 地址,这将使您能够使用 DHCP 的所有功能,但是您主人的地址将始终相同。
您可以像这样配置标准 Linux dhcpdDHCP 服务器(将 MAC 地址和 IP 替换为您需要的地址):
host KubeMaster {
hardware ethernet 00:1F:6A:21:71:3F;
fixed-address 10.0.0.101;
}
如果您的 DHCP 服务器使用任何路由器或不同的操作系统,请检查他们的文档。