Kubernetes集群节点扩容实战-kubeasz
1.1 部署目标
在Kubernetes集群中添加node节点及master节点
1.2 初始集群架构
参考基于kubeasz的k8s v1.34.x高可用集群部署,部署一个3 master,3 node的k8s集群
|--------|----|--------|------------------------|
| 节点类型 | 数量 | 功能 | IP |
| master | 3 | k8s控制端 | 192.168.44.101、102、103 |
| harbor | 2 | 镜像服务器 | 192.168.44.104、105 |
| etcd | 3 | 保存集群数据 | 192.168.44.106、107、108 |
| HA | 2 | 高可用 | 192.168.44.109、110 |
| deploy | 1 | 部署节点 | 192.168.44.160 |
| node | 3 | 运行容器 | 192.168.44.111、112、113 |
1.3 目标集群架构
添加一个node节点
|--------|----|--------|----------------------------|
| 节点类型 | 数量 | 功能 | IP |
| master | 3 | k8s控制端 | 192.168.44.101、102、103 |
| harbor | 2 | 镜像服务器 | 192.168.44.104、105 |
| etcd | 3 | 保存集群数据 | 192.168.44.106、107、108 |
| HA | 2 | 高可用 | 192.168.44.109、110 |
| deploy | 1 | 部署节点 | 192.168.44.160 |
| node | 4 | 运行容器 | 192.168.44.111、112、113、114 |
1.4 节点准备
-
配置IP地址:
192.168.44.114 -
设置主机名:
k8s-node4 -
把deploy节点公钥传过去
在 deploy 节点执行
ssh-copy-id root@192.168.44.114
1.5 添加master节点(可选)
ubuntu@k8s-deploy:/etc/kubeasz$ ./ezctl add-master k8s-cluster1 192.168.44.102 k8s_nodename="k8s-master2"
验证节点信息:
ubuntu@k8s-deploy:~$ sudo kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master1 Ready,SchedulingDisabled master 4d2h v1.34.2
k8s-master2 Ready,SchedulingDisabled master 18s v1.34.2
k8s-master3 Ready,SchedulingDisabled master 18s v1.34.2
k8s-node1 Ready node 4d1h v1.34.2
k8s-node2 Ready node 4d1h v1.34.2
k8s-node3 Ready node 4d1h v1.34.2
1.6 添加node节点
ubuntu@k8s-deploy:/etc/kubeasz$ ./ezctl add-node k8s-cluster1 192.168.44.114 k8s_nodename="k8s-node4"
验证节点信息:
ubuntu@k8s-deploy:~$ sudo kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master1 Ready,SchedulingDisabled master 4d2h v1.34.2
k8s-master2 Ready,SchedulingDisabled master 4d2h v1.34.2
k8s-master3 Ready,SchedulingDisabled master 4d2h v1.34.2
k8s-node1 Ready node 4d1h v1.34.2
k8s-node2 Ready node 4d1h v1.34.2
k8s-node3 Ready node 4d1h v1.34.2
k8s-node4 Ready node 2min v1.34.2

现在直接在 deploy 节点执行:
cd /etc/kubeasz
./ezctl add-node k8s-cluster1 192.168.44.114 k8s_nodename="k8s-node4"