# 继上次迁移计算节点把部分节点由虚机转换为‘物理机’后,资源还是吃紧 (内存+磁盘), 毕竟vm1的kernel和rootfs都要占用宝贵的资源,所以这次准备把vm1也给禁用掉,所有原来抛在vm1 master节点上的资源都跑到hostubuntu上,也就是准备把hostubuntu作为master节点以及平时的工作节点。
这篇文章记录下操作过程已经中间碰到的问题:
- 重新生成kube-apiserver的server.crt/server.key 包含hostubuntu的ip地址。因为原来的server证书只包含了vm1的地址10.0.0.61,
#kube-apiserver-csr.json,
{
"CN": "kube-apiserver",
"hosts": [
"vm1",
"hostubuntu",
"kubernetes",
"kubernetes.default",
"kubernetes.default.svc",
"kubernetes.default.svc.cluster.local",
"10.96.0.1",
"10.0.0.61",
"172.16.137.128" #新的master hostubuntu的地址
],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
}
]
}
- 数据和配置文件复制
on vm1:
systemctl stop kubelet
systemctl stop docker
tar -czvf conf.tar.gz /etc/kubernetes /var/lib/etcd
scp conf.tar.gz root@hostubuntu:/tmp;
on hostubuntu:
tar -C / -xzvf conf.tar.gz
3. 修改新master的配置
修改/etc/kubernetes/bootstrap-kubelet.conf kubelet.conf kube-proxy.config.yaml controller-manager.conf kube-proxy.kubeconfig schedu