INTERNAL-IP由kubelet进程选择或指定,也就是我们kubectl get node -o wide 查看到的INTERNAL-IP,这个地址如果在多张网卡或者多个IP的场景下可能会产生不是我们所预期的IP,所以需要我们进行指定,
kubelet 决定使用哪个 IP 作为 NodeIP 时,如果未指定 --node-ip 参数,kubelet 通常会选择节点上默认路由的出口 IP 地址,通常是节点的主网络接口(如 eth0)的 IP。
以下操作都需要在 kuadm join 之前进行操作,也就是安装完 kubelet 服务以后,编辑 kubelet 的 systemd 服务配置文件
vim /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
EnvironmentFile=-/etc/default/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS --node-ip=<你的节点IP>
然后重启kubelet服务
sudo systemctl daemon-reload
sudo systemctl restart kubelet
我们在构建k8s集群时,需要注意不要有重复的INTERNAL-IP,不然会造成路由混乱和通信故障等问题,如果已经加入的节点,我们需要删除节点以后按照上述操作以后重新加入集群。
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/1131
相关阅读
- k8s使用SA和Secret配置私有仓库镜像拉取凭证
- k8s使用flannel作为CNI网络插件
- k8s中harbor-database-0日志报Permissions should be u=rwx (0700)的处理方法
- k8s使用helm部署harbor镜像仓库并使用nodeport方式暴露
- k8s集群部署prometheus/node-exporter/dcgm-exporter
- k8s中calico匹配多种网络接口名字的方法
- ubuntu22.04使用containerd部署k8s集群
- ubuntu22.04下k8s集群kube-proxy从iptables切换到ipvs模式
- k8s级联删除(删除deployment却删除不了rs和pod)异常问题的处理办法
- k8s中修改containerd存储目录并将数据迁移到新磁盘目录
评论列表