k8s的master更换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  #  此时已经是通信成功了
/etc/kubernetes#sz admin.conf

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

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

 

 

 

 

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

Kubernetes中的Master节点是集群的核心组件,负责管理集群的状态、调度Pod并监控集群的健康状态。如果Master节点出现故障或需要升级,则需要更换Master。 下面是更换Kubernetes Master节点的步骤: 1.备份当前的etcd数据 在更换Master节点之前,需要备份当前的etcd数据。etcd是Kubernetes集群的分布式键值存储,存储了Kubernetes集群的所有配置信息和状态数据。 使用etcdctl工具备份etcd数据: ``` $ etcdctl --endpoints=<etcd-endpoint> snapshot save /path/to/etcd-backup.db ``` 其中,`<etcd-endpoint>`是etcd的地址,`/path/to/etcd-backup.db`是备份文件的路径。 2.创建新的Master节点 在新的Master节点上安装Kubernetes组件,并使用kubeadm初始化集群。具体步骤可以参考Kubernetes官方文档。 3.将新的Master节点加入集群 在新的Master节点上运行以下命令将其加入集群: ``` $ kubeadm join <master-node-address>:<port> --token <token> \ --discovery-token-ca-cert-hash sha256:<hash> ``` 其中,`<master-node-address>`和`<port>`是当前集群中任意一个Master节点的地址和端口号,`<token>`是kubeadm初始化集群时生成的token,`<hash>`是discovery-token-ca-cert的SHA256哈希值。 4.删除旧的Master节点 在新的Master节点加入集群后,可以删除旧的Master节点。如果需要保留旧的etcd数据,可以将旧的etcd数据拷贝到新的Master节点上,并使用etcdctl工具将其导入到etcd中。 ``` $ etcdctl --endpoints=<etcd-endpoint> snapshot restore /path/to/etcd-backup.db ``` 5.验证集群状态 在新的Master节点上运行以下命令验证集群状态: ``` $ kubectl get nodes ``` 如果所有节点都处于Ready状态,则表示集群已经更换完毕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值