关于kubernetes两节点和三节点的区别测试
根据K8s的说法,三节点才是一个稳固的群集。之前使用kubeadm搭建了一个两节点的环境,在测试高可用的时候的确是发现了问题,一个节点崩了,整个群集就崩了。实验的目的是验证三节点的高可用性搭建的过程忽略,看实验的结果两个场景对比场景1,双节点koonsuenmaster03(初始化节点):192.168.8.13koonsuenmaster02(加入节点): 192.168.8.12关闭节点03群
根据K8s的说法,三节点才是一个稳固的群集。之前使用kubeadm搭建了一个两节点的环境,在测试高可用的时候的确是发现了问题,一个节点崩了,整个群集就崩了。
实验的目的是验证三节点的高可用性
搭建的过程忽略,看实验的结果
两个场景对比
场景1,双节点
koonsuenmaster03(初始化节点):192.168.8.13
koonsuenmaster02(加入节点): 192.168.8.12
关闭节点03
[root@koonsuenmaster02 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
koonsuenmaster02 Ready control-plane,master 7h v1.20.6
koonsuenmaster03 Ready control-plane,master 32h v1.20.6
[root@koonsuenmaster02 ~]# kubectl get nodes
Unable to connect to the server: net/http: TLS handshake timeout
群集崩了,关闭节点02,效果一样,kubectl命令无法有返回
场景2,三节点
koonsuenmaster03(初始化节点):192.168.8.13
koonsuenmaster02(加入节点): 192.168.8.12
koonsuenmaster04(加入节点):192.168.8.14
在02节点看关闭03节点的前后状况:
[root@koonsuenmaster02 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
koonsuenmaster02 Ready control-plane,master 7h1m v1.20.6
koonsuenmaster03 Ready control-plane,master 32h v1.20.6
koonsuenmaster04 Ready control-plane,master 5m12s v1.20.6
[root@koonsuenmaster02 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
koonsuenmaster02 Ready control-plane,master 7h1m v1.20.6
koonsuenmaster03 NotReady control-plane,master 32h v1.20.6
koonsuenmaster04 Ready control-plane,master 5m14s v1.20.6
可见03节点已经是NotReady状态,群集依然可用,kubectl get nodes有返回信息,下面在04节点看03节点退出的瞬间:
[root@koonsuenmaster04 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
koonsuenmaster02 Ready control-plane,master 7h v1.20.6
koonsuenmaster03 Ready control-plane,master 32h v1.20.6
koonsuenmaster04 Ready control-plane,master 4m44s v1.20.6
[root@koonsuenmaster04 ~]# kubectl get nodes
Unable to connect to the server: net/http: TLS handshake timeout
[root@koonsuenmaster04 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
koonsuenmaster02 Ready control-plane,master 7h v1.20.6
koonsuenmaster03 Ready control-plane,master 32h v1.20.6
koonsuenmaster04 Ready control-plane,master 5m2s v1.20.6
可见瞬时是出现了kubectl命令没有返回的情况,如果是双节点就会一直timeout
或者其他的提示,群集不可用。
三节点以上才是K8s的生产环境的解决方案。
PS:
K8s搭建心得体会:
使用虚拟机加入控制平面节点十分方便,克隆机器,kubeadm reset,看提示操作即可。
之后关键步骤是传证书、安装完成后的一键三联,以及之后的网络插件的安装。
有机会继续学习二进制方式的安装。
更多推荐
所有评论(0)