如何做微信个人网站,也可以用,网站logo提交,制作软件的公司叫什么1、定义#xff1a;hpa全称horizontal pod autoscaling#xff08;pod的水平自动伸缩#xff09;#xff0c;这是k8s自带的模块。pod占用CPU的比率到达一定阀值会触发伸缩机制#xff08;根据CPU使用率自动伸缩#xff09;
replication controller副本控制器#xff0c…1、定义hpa全称horizontal pod autoscalingpod的水平自动伸缩这是k8s自带的模块。pod占用CPU的比率到达一定阀值会触发伸缩机制根据CPU使用率自动伸缩
replication controller副本控制器控制pod的副本数
deployment controller节点控制器部署pod
hpa控制副本的数量以及控制部署pod
1hpa基于kube-controll-manager服务周期性的检测pod的CPU使用率默认30秒检测一次
2hpa和replication controller、deployment controller都属于k8s的资源对象通过跟踪分析副本控制器和deployment的pod的负载变化针对性的调整目标pod的副本数针对性有一个阀值正常情况下pod的副本数以及达到阀值后pod的扩容最大数量
3metrics-server部署到集群中去对外提供度量的数据
2、hpa规则【面试】
1定义pod时必须要有资源限制否则hpa无法进行监控
2扩容是即时的只要超过阀值会立刻扩容但不是立刻扩容到最大副本数会在最小值和最大值之间波动。若扩容数量满足需求不会再扩容
3缩容是缓慢的若业务峰值较高回收策略太积极可能对业务产生崩溃。周期行的获取数据缩容的机制问题
3、pod的副本数扩缩容有两种方式
1手动方式修改控制器的副本数
方式1命令行通过kubectl scale deployment nginx --replicas3 方式2edit修改控制器 方式3修改yaml文件使用apply -f部署更新 2hpa自动扩缩容
监控指标是cpu
hpa自动扩缩容实验
1、安装镜像包每个节点
docker load -i metrics-server.tar 2、安装yaml文件master节点查看pod以及node节点占用cpu情况
3、实现hpa
4、模拟cpu负载压力测试
下降原因每个pod部署在不同节点上
5、再做压力测试观察数据
结论一旦超过阀值立刻扩容
6、缩容关闭压力测试
4、资源限制
1pod的资源限制limit
2命名空间资源限制★★★
lucky-cloud项目部署在test1的命名空间若pod不做限制或命名空间不做限制依然会占满所有集群资源
①ResourceQuata可以对命名空间进行资源限制
②LimitRange直接声明在命名空间中创建的pod或容器的资源限制这是一个统一限制所有在这个命名空间中的pod都受这个条件的限制
• ResourceQuata
创建命名空间test1 对命名空间进行资源限制 测试
①调整pod副本数 结论在此命名空间只能创建3个有效的pod
②缩容 ③命名空间其他限制条件 configmaps: 10 在当前名命名空间创建最大的configmap的数量10个 persistentvolumeclaims: 4 在当前命名空间只能使用4个pvc secrets: 5 创建加密的secret只能5个 services: 5 创建service的个数只能5个 services.nodeports: 2 创建service的nodeport类型的svc只能2个 测试
①创建svc1 结论第1个svc创建成功
②创建svc2 结论第2个svc创建成功
③创建svc3 结论在test1这个命名空间中限制只能创建2个service.nodeport
查看命名空间的限制 • LimitRange 创建命名空间 压力测试 结论最多只能占1个cpu1000m代表1个cpu type类型 container常用 pod pvc