如何正确更改 kubernetes 工作节点 ip 地址?

How to change the kubernetes worker node ip address correctly?

我试过直接修改worker节点的网卡ip。好像是master节点自动更新了worker节点的ip信息。而且对kubernetes集群没有任何负面影响。更改worker节点ip是简单正确的方法吗?还是我错过了其他一些重要步骤?

我使用 kubeadm 在一个 public 网络中使用两个 ubuntu18.04 虚拟机创建了一个迷你集群。

事实上,更改工作节点的 IP 地址根本不会影响集群,除非新 IP 地址不会干扰 --pod-network-cidr

Kubelet 负责它,它使用了几个选项:

The kubelet is the primary "node agent" that runs on each node. It can register the node with the apiserver using one of: the hostname; a flag to override the hostname; or specific logic for a cloud provider.

例如,如果您决定更改工作节点的 hostname,它将变得无法访问。


正确更改IP地址有两种方式:

  1. 使用新 IP(已更改)将工作节点重新加入集群
  2. 配置 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

有用的链接: