k8s 1.15.1 service 的 ClusterIP模式的sessionAffinity: ClientIP 模式负载测试实验

测试总纲:

k8s中的service常用的ClusterIP模式自带的clientip模式,也叫亲节点模式,就是通过svc的ClusterIP模式的请求,如果IP相同,会转发到一台pod上,如果是web服务器,就可以实现 会话相同,达到会话保持的状态。

实验目的:

通过访问clusterip访问,获取转发的情况。

准备环境:

k8s集群,创建三台web服务器节点绑定一个svc实现实验环境,如下图:
在这里插入图片描述

实验一:

Svc 的 ClusterIP模式的sessionAffinity: ClientIP 模式:
打开三台web服务的实时日志,获取访问情况,验证前端是在访问哪台服务器。
通过不同服务器curl的方法,访问服务器,查看service模式的转发情况。

实验过程:

通过一台服务器,100次访问service服务:
在这里插入图片描述

三台web服务器访问情况(通过kubectl主节点获取三个pod实时日志):
kubectl logs -f djangoblog-664b9c97b6-kgflx
kubectl logs -f djangoblog-664b9c97b6-sp59v
kubectl logs -f djangoblog-664b9c97b6-tcjpr
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

实验结论:

只有一台web不断的刷新日志,其他2个0访问。所以svc的会保持会话,只转发到一台web上。

实验二:

Svc 的 ClusterIP模式的sessionAffinity: ClientIP 模式:
条件如实验一,此时使用三台服务器是访问svc 各100次,看svc的转发情况。

实验过程:

三台访问100次svc:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三台web日志方位情况:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

实验结论:

Svc的亲节点模式,会把大量请求转发到一台服务器上,严重造成负载不均,请根据自身情况,选择是否符合自己情况,酌情搭建负载均衡。

实验三:

Svc 的 ClusterIP模式的默认 模式:

实验过程:

通过一台服务器访问svc的ClusterIP。
三台web的日志情况:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

实验结论:

默认模式,三台web都会有访问到。但是一般web程序会话信息都存在本地内存中。此时需要开发人员把seession信息保存到 一个共享文件,或者数据库中,实现共享存储,此模式适合做负载均衡,切记需要和开发人员协商seesion共享问题。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChengRuoFei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值