k8s集群扩容master节点和node节点

#集群扩容规划
#新增master节点和node节点如下
k8s-master3-etcd3-haproxy3 192.168.10.113
k8s-node3                            192.168.10.116
#在k8s-harbor-deploy:192.168.10.110执行添加

1.新增master节点#查看现有集群服务器

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
root@t:/etc/kubeasz# kubectl get node -A
NAME             STATUS                     ROLES    AGE     VERSION
192.168.10.111   Ready,SchedulingDisabled   master   3d11h   v1.21.0
192.168.10.112   Ready,SchedulingDisabled   master   3d11h   v1.21.0
192.168.10.114   Ready                      node     3d11h   v1.21.0
192.168.10.115   Ready                      node     3d11h   v1.21.0
 
#添加master之前,检查node节点的kube-lb.conf文件,每个node节点上会启动一个负载均衡器,它是ningx实现的,用于实现对api server的负载均衡
root@k8s-node1:~# cat /etc/kube-lb/conf/kube-lb.conf
user root;
worker_processes 1;
 
error_log  /etc/kube-lb/logs/error.log warn;
 
events {
    worker_connections  3000;
}
 
stream {
    upstream backend {
        server 192.168.10.111:6443    max_fails=2 fail_timeout=3s;
        server 192.168.10.112:6443    max_fails=2 fail_timeout=3s;
    }
 
    server {
        listen 127.0.0.1:6443;
        proxy_connect_timeout 1s;
        proxy_pass backend;
    }
}
 
 
#在master节点,add-master会自动执行01、03、04、06
root@k8s-harbor-deploy:/tools# cd /etc/kubeasz
root@k8s-harbor-deploy:/etc/kubeasz# ./ezctl add-master k8s-01 192.168.10.113
部署无任何报错即可,其中ex-lb报错可以不用理会已经单独部署
 
#添加以后检查
root@k8s-master1-etcd1-haproxy1:/usr/local/src# kubectl get node -A -o wide
NAME             STATUS                     ROLES    AGE     VERSION   INTERNAL-IP      EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
192.168.10.111   Ready,SchedulingDisabled   master   3d11h   v1.21.0   192.168.10.111   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
192.168.10.112   Ready,SchedulingDisabled   master   3d11h   v1.21.0   192.168.10.112   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
192.168.10.113   Ready,SchedulingDisabled   master   5m2s    v1.21.0   192.168.10.113   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
192.168.10.114   Ready                      node     3d11h   v1.21.0   192.168.10.114   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
192.168.10.115   Ready                      node     3d11h   v1.21.0   192.168.10.115   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
 
 
每个node节点都有反向代理配置文件,本地的kubelet,kubectl,kebe-proxy会把本地的请求转发给本地的127.0.0.1的6443端口,然后在以轮询的方式转发向后端的master节点6443端口进
通过这种方式实现node节点对apiserver节点的高可用和高性能,负载均衡器会对apiserver进行探测,如果某个apiserver挂了会自动把挂了的apiserver从Nginx负载均衡删除掉
#添加之后的负载均衡文件,负载均衡的文件会自动更新把新的master节点添加上去
root@k8s-node1:~# cat /etc/kube-lb/conf/kube-lb.conf
user root;
worker_processes 1;
 
error_log  /etc/kube-lb/logs/error.log warn;
 
events {
    worker_connections  3000;
}
 
stream {
    upstream backend {
        server 192.168.10.113:6443    max_fails=2 fail_timeout=3s;
        server 192.168.10.111:6443    max_fails=2 fail_timeout=3s;
        server 192.168.10.112:6443    max_fails=2 fail_timeout=3s;
    }
 
    server {
        listen 127.0.0.1:6443;
        proxy_connect_timeout 1s;
        proxy_pass backend;
    }
}

 

2.新增node节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#添加node节点
root@t:/etc/kubeasz# ./ezctl add-node k8s-01 192.168.10.116
2023-01-06 10:26:36 INFO add 192.168.10.116 into 'kube_node' group
2023-01-06 10:26:36 INFO start to add a work node:192.168.10.116 into cluster:k8s-01
 
PLAY [192.168.10.116] ************************************************************************************************************
 
TASK [Gathering Facts] ***********************************************************************************************************
ok: [192.168.10.116]
 
TASK [prepare : apt更新缓存刷新] *************************************************************************************************
ok: [192.168.10.116]
 
TASK [prepare : 删除ubuntu默认安装] **********************************************************************************************
changed: [192.168.10.116] => (item=ufw)
changed: [192.168.10.116] => (item=lxd)
changed: [192.168.10.116] => (item=lxd-client)
changed: [192.168.10.116] => (item=lxcfs)
changed: [192.168.10.116] => (item=lxc-common)
执行过程无任何报错即可
 
#执行完毕检查
root@t:/etc/kubeasz# kubectl get node -A -o wide
NAME             STATUS                     ROLES    AGE     VERSION   INTERNAL-IP      EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
192.168.10.111   Ready,SchedulingDisabled   master   3d12h   v1.21.0   192.168.10.111   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
192.168.10.112   Ready,SchedulingDisabled   master   3d12h   v1.21.0   192.168.10.112   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
192.168.10.113   Ready,SchedulingDisabled   master   33m     v1.21.0   192.168.10.113   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
192.168.10.114   Ready                      node     3d12h   v1.21.0   192.168.10.114   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
192.168.10.115   Ready                      node     3d12h   v1.21.0   192.168.10.115   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15
192.168.10.116   Ready                      node     22m     v1.21.0   192.168.10.116   <none>        Ubuntu 20.04.3 LTS   5.4.0-135-generic   docker://19.3.15

 

 

posted @   YYQ-  阅读(917)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示