k8s的更换ip

k8s的master更换ip后,通信问题出现了问题,我们只需要通过kubeadm init phase命令,重新生成config文件和签名文件就可以了。操作如下:

一,切换到/etc/kubernetes/manifests, 将etcd.yaml kube-apiserver.yaml里的ip地址替换为新的ip

/etc/kubernetes/manifests # vim etcd.yaml
/etc/kubernetes/manifests # vim kube-apiserver.yaml

二,生成新的config文件

/etc/kubernetes# mv admin.conf admin.conf.bak
/etc/kubernetes# kubeadm init phase kubeconfig admin --apiserver-advertise-address <新的ip>

三,删除老证书,生成新证书

/etc/kubernetes# cd pki
 /etc/kubernetes/pki# mv apiserver.key apiserver.key.bak
/etc/kubernetes/pki# mv apiserver.crt apiserver.crt.bak
 /etc/kubernetes/pki# kubeadm init phase certs apiserver  --apiserver-advertise-address <新的ip>
 

四,重启docker

/etc/kubernetes# cd ..
/etc/kubernetes# service docker restart
/etc/kubernetes# service kubelet restart

五,将配置文件config输出
/etc/kubernetes#kubectl get nodes --kubeconfig=admin.conf # 此时已经是通信成功了

六,将kubeconfig默认配置文件替换为admin.conf,这样就可以直接使用kubectl get nodes

/etc/kubernetes# mv admin.conf ~/.kube/config

admin.conf配置到访问的机器上,就可以通过api访问这台k8s机器了。

更换nodes ip

其他参考:
https://blog.csdn.net/weixin_41487627/article/details/116565009

修改/etc/sysconfig/flanneld文件,将FLANNEL_ETCD_ENDPOINTS=“http://[master-ip]:2379”

修改/etc/kubernetes/config文件,将最后一行的KUBE_MASTER的ip地址修改为master的ip地址

修改/etc/kubernetes/kubelet,将KUBECTL_HOSTNAME修改为node节点的ip,将KUBELET_API_SERVER修改为master主机的ip

修改完上面的三个文件之后,重启node节点的k8s服务就行

systemctl restart kubelet.service
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值