高阶测试开发必备技能: k8s入门!

现在稍微有点规模公司都是基于docker容器化部署技巧,K8s现在主流,应用最广的容器集群管理技术。

k8s全称kubernetes(首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s,所以简称 k8s),基于Docker容器集群环境管理问题,是谷歌保密十几年的秘密武器----Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。

k8s定位是实现集群环境下资源管理的容器自动化管理,主要提供了如下的主要功能:

  • 自我修复:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器

  • 弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整

  • 服务发现:服务可以通过自动发现的形式找到它所依赖的服务

  • 负载均衡:如果一个服务启动了多个容器,能够自动实现请求的负载均衡

  • 版本回退:如果发现新发布的程序版本有问题,可以立即回退到原来的版本

  • 存储编排:可以根据容器自身的需求自动创建存储卷

一般我们对目标环境压测时候,指标满不足不了需求,最常见的处理方式就是扩容机器,不过业务访问有高峰期,日常期,高峰期需要10个业务集群,日常期需要6个业务集群即可,还有流量激增问题,如何根据线上机器压力动态扩容业务集群规模,或者缩容,是一个非常实用的技巧,这里推荐k8s的hpa控制器。

hpa 全称HorizontalPodAutoscaler

图片

上面是k8s HPA 功能实现图, Deployment, pod 是k8s入门基础知识,不在本文介绍范围,可自己查找资料学习,或者参加vip课程会带着大家详细学习。

HPA实现首先要检查 metrics-server是否安装

可以使用  kubectl get po -n kube-system 查看安装情况

图片

如果有metrics-servcie相关pod说明安装成功

图片

metrics-server支持节点资源利用率监控

图片

接下来最核心的编排工作,由于文件太长,保留了核心配置说明,对cpu,memory做了上限制设置,这里为了快速实现,设置规则是如果发现pod节点cpu超过10%,自动扩容,最大扩容10个

图片

部署完成 可以看到HorizontalPodAutoscaler控制器,当前资源利用率0%,目标超过10%,就开始自动扩容

图片

使用jmeter压测,这时候发现节点使用率 超过10%,显示976%,一个节点最大利用100%,应该是扩容了10个节点

图片

使用kubectl get po -n dev,看到当前扩容情况,目标完成

图片

接下来测一下缩容情况:

关闭jmeter压测,压力变小,等待一会时间,会自动缩容,如下图,nginx集群又恢复到1个节点

图片

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值