问题描述
我已经尝试过直接更改工作节点的 NIC ip。好像master节点会自动更新worker节点的ip信息。并且它对 kubernetes 集群没有任何负面影响。这是更改工作节点ip的简单而正确的方法吗?还是我遗漏了其他一些重要步骤?
解决方法
我使用 kubeadm
在一个公共网络中创建了一个带有两个 ubuntu18.04 虚拟机的迷你集群。
确实,更改工作节点的 IP 地址根本不会影响集群,除非新 IP 地址不会干扰 --pod-network-cidr
。
Kubelet
负责它并使用几个选项:
kubelet 是在每个节点上运行的主要“节点代理”。它可以 使用以下之一向 apiserver 注册节点:主机名;一种 覆盖主机名的标志;或云提供商的特定逻辑。
例如,如果您决定更改工作节点的 hostname
,它将变得无法访问。
有两种方法可以正确更改 IP 地址:
- 使用新 IP(已更改)将工作节点重新加入集群
- 配置
kubelet
以通告特定 IP 地址。
最后一个选项可以通过以下方式完成:
- 通过添加
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
修改KUBELET_EXTRA_ARGS=--node-ip %NEW_IP_ADDRESS%
。 -
sudo systemctl daemon-reload
因为配置文件已更改 sudo systemctl restart kubelet.service
有用的链接:
- Specify internal ip for worker nodes -(它的做法有点老了(应该按照我上面描述的那样做),但想法是一样的)。
- CLI tools - Kubelet