Kubernetes 环境高可用测试

网友投稿 368 2022-11-02


Kubernetes 环境高可用测试

宕机测试

可靠性测试主要包括两个部分内容,一为Master节点服务器宕机测试,二为Node服务器节点宕机测试,此项测试,主要目的是考量Kubesphere系统(KS平台)的高可用性,是否可以支持在较长时间的宕机(离线)情况下保证业务的可用性。

Master节点宕机对于系统的影响

测试名称

Master节点宕机测试

测试目的

Master节点宕机的情况下,测试Kubesphere平台的高可用性

测试工具

人工关机:shutdown -h 0 (模拟物理服务器宕机)

测试条件

Master 节点离线

测试方法/参数

  1. 手动关机Master1节点;
  2. 等待30分钟;
  3. 查看服务是否中断,开机启动Master1,查看是否正常加入集群;
  4. 手动关机Master2节点;
  5. 等待30分钟;
  6. 查看服务是否中断;
  7. 查看服务是否中断,开机启动Master2,查看是否正常加入集群;

预期结果

业务是否中断:否(举例)

中断时间:无

测试截图

1. Master1关机操作:shutdown -h 0

记录关机时间时间:

2、查看服务状态:访问KS平台

3、查看业务状态:查看应用示例(bookinfo)服务是否

4. Master2关机操作:shutdown -h 0

记录关机时间时间:

  1. 查看服务状态:访问KS平台
  2. 查看业务状态:查看应用示例(bookinfo)服务是否
  3. 陆续开启Master1和Master2,查看Master节点状态


备注


[root@master01 ~]# kubectl get nodeNAME STATUS ROLES AGE VERSIONmaster01 Ready control-plane,master 22h v1.20.6master02 NotReady control-plane,master 22h v1.20.6master03 Ready control-plane,master 22h v1.20.6node01 Ready worker 22h v1.20.6node02 Ready worker 22h v1.20.6[root@master03 ~]# kubectl get nodeNAME STATUS ROLES AGE VERSIONmaster01 Ready control-plane,master 22h v1.20.6master02 NotReady control-plane,master 22h v1.20.6master03 Ready control-plane,master 22h v1.20.6node01 Ready worker 22h v1.20.6node02 Ready worker 22h v1.20.6

启动之前刚刚手动down的节点

[root@master03 ~]# kubectl get nodeNAME STATUS ROLES AGE VERSIONmaster01 Ready control-plane,master 22h v1.20.6master02 Ready control-plane,master 22h v1.20.6master03 Ready control-plane,master 22h v1.20.6node01 Ready worker 22h v1.20.6node02 Ready worker 22h v1.20.6

Node节点宕机对于系统的影响

测试名称

Node节点宕机测试

测试目的

Node节点宕机的情况下,测试Kubesphere平台的高可用性

测试工具

人工关机:shutdown -h 0 (模拟物理服务器宕机)

测试条件

Node节点离线

测试方法/参数

  1. 手动关机Node1节点:shutdown -h 0
  2. 查看服务是否中断:查看应用示例(bookinfo)服务是否
  3. 等待30分钟;
  4. 手动关机Node2节点:shutdown -h 0
  5. 查看服务是否中断:查看应用示例(bookinfo)服务是否
  6. 等待30分钟;

     7. 陆续(间隔10分钟)开启Node1和Node2节点;

     8. 查看Node节点是否上线;


预期结果

业务是否中断:否(举例)

中断时间:无

测试截图

1. Node1关机操作:shutdown -h 0

记录关机时间时间:

2、查看服务状态:访问KS平台

3、查看业务状态:查看应用示例(bookinfo)服务是否

4. Node2关机操作:shutdown -h 0

记录关机时间时间:

5. 查看服务状态:访问KS平台

6. 查看业务状态:查看应用示例(bookinfo)服务是否

7. 陆续开启Node1和Node2,查看各个Node 是否加入集群


备注


[root@master01 ~]# kubectl create deployment nginx --image=nginxdeployment.apps/nginx createdYou have new mail in /var/spool/mail/root[root@master01 ~]# kubectl get podNAME READY STATUS RESTARTS AGEnginx-6799fc88d8-8ccdq 1/1 Running 0 2m16sYou have new mail in /var/spool/mail/root[root@master01 ~]# kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-6799fc88d8-8ccdq 1/1 Running 0 2m27s 10.233.82.26 node01 [root@node01 ~]# shudown -h 0#这里过了14分钟故障节点所在的pod才开始重建[root@master01 ~]# kubectl get podNAME READY STATUS RESTARTS AGEnginx-6799fc88d8-8ccdq 1/1 Terminating 0 14mnginx-6799fc88d8-9kd68 0/1 ContainerCreating 0 4s[root@master01 ~]# kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-6799fc88d8-8ccdq 1/1 Terminating 0 16m 10.233.82.26 node01 nginx-6799fc88d8-9kd68 1/1 Running 0 106s 10.233.113.16 node02 [root@master01 ~]# curl 10.233.113.16Welcome to nginx!

现在启动故障节点node1


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 模拟数据库连接池的实现代码
下一篇:Oracle RMAN-增量备份
相关文章

 发表评论

暂时没有评论,来抢沙发吧~