news 2026/10/1 2:56:58

k8s的弹性伸缩

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
k8s的弹性伸缩

k8s弹性伸缩

自动扩缩容HPA

要实现扩缩容得先安装Metrics Server服务,因为自动扩缩容是通过监控容器得cpu或者memory得上限来实现弹性伸缩的,在 Kubernetes 集群中,Metrics Server 是一个用于收集和聚合集群内部组件的性能指标数据的服务。它可以收集 CPU 使用率、内存使用率、网络 I/O 等指标,并将这些指标暴露给 Kubernetes API Server,以供其他组件使用,在弹性伸缩中,Metrics Server 可以帮助 Kubernetes 自动地监测集群中各个 Pod 的资源使用情况,并根据配置的规则进行自动扩展或缩减

提示:我们使用kubeeasy部署k8s,已经部署过Metrics Server服务了

1、部署nginx
[root@k8s-master-node1 ~]# vi deployment-nginx.yamlapiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx name: nginx namespace: default spec: replicas:3selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx imagePullPolicy: Always ports: - containerPort:80resources: requests:#容器初始值大小memory: 50Mi cpu:0.5limits:#容器限制最大值memory: 100Mi cpu:1
[root@k8s-master-node1 ~]# kubectl apply -f deployment-nginx.yaml
2、配置service服务暴露端口
[root@k8s-master-node1 ~]# kubectl expose deployment nginx --port=8080 --target-port=80 --type=NodePort[root@k8s-master-node1 ~]# kubectl get svcNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)AGE kubernetes ClusterIP10.96.0.1<none>443/TCP 51d nginx NodePort10.96.31.108<none>8080:53756/TCP 32m[root@k8s-master-node1 ~]# kubectl get podsNAME READY STATUS RESTARTS AGE nginx-75b57cd77d-dbdzg1/1 Running023m nginx-75b57cd77d-dnrjk1/1 Running022m nginx-75b57cd77d-h7nlx1/1 Running032m
3、配置hpa(重点)
[root@k8s-master-node1 ~]# kubectl autoscale deployment nginx --min=3 --max=10 --cpu-percent=50[root@k8s-master-node1 ~]# kubectl get hpaNAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE nginx Deployment/nginx0%/50%310334m
  • kubectl autoscale: Kubernetes 提供的“快速创建 HPA”的命令
  • –min=3 :无论多空闲,都至少保留 3 个 Pod
  • –max=10: 再忙也不会超过 10 个 Pod
  • –cpu-percent=10: 目标 CPU 使用率 = 10%

HPA 的逻辑是:

  • 如果当前 CPU高于 50%→ 扩容
  • 如果当前 CPU低于 50%→ 缩容
4、使其扩缩容

扩容前:

以下任选其一就好,其共同目的都是提升cpu,使其扩容!!!!!

(1)用多几台主机使用以下命令访问暴露的端口

[root@k8s-master-node1 ~]# while true;do curl -s 192.168.100.10:53756 >> /dev/null;done
[root@k8s-master-node1 ~]# kubectl get hpa -w[root@k8s-master-node1 ~]# kubectl get hpaNAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE nginx Deployment/nginx53%/50%310342m

(2)进入nginx容器里面

[root@k8s-master-node1 ~]# kubectl exec -it nginx-75b57cd77d-dbdzg /bin/bashroot@nginx-75b57cd77d-dbdzg:/# while true; do:; done
[root@k8s-master-node1 ~]# kubectl get hpaNAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE nginx Deployment/nginx52%/50%310342m

现在我们可以看见pod由3个增加到5个

[root@k8s-master-node1 ~]# kubectl get podsNAME READY STATUS RESTARTS AGE nginx-75b57cd77d-22bbf1/1 Running083s nginx-75b57cd77d-dbdzg1/1 Running037m nginx-75b57cd77d-dnrjk1/1 Running046m nginx-75b57cd77d-h7nlx1/1 Running046m nginx-75b57cd77d-mkmbf1/1 Running083s

当cpu降回10%后pod会减少到3个

[root@k8s-master-node1 ~]# kubectl get podsNAME READY STATUS RESTARTS AGE nginx-75b57cd77d-dbdzg1/1 Running043m nginx-75b57cd77d-dnrjk1/1 Running052m nginx-75b57cd77d-h7nlx1/1 Running052m

扩容后:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 2:55:45

RoPE 旋转位置编码

RoPE 旋转位置编码RoPE (旋转位置编码)流程step0 计算转速step1 算每个 token 的旋转角step2 求 cos / sinstep3 用 cos / sin 旋转 token&#xff08;作用到 Q 和 K&#xff09;总结RoPE (旋转位置编码) 流程 step0 计算转速 对于每个token xixixi,转速θ为[θ0,&#xff0…

作者头像 李华
网站建设 2026/10/1 2:55:43

Wi-Fi 电表选型的软件开发视角 —— 数据模型、寄存器和 CT 配置

Wi-Fi 电表选型&#xff0c;硬件上看电流接入和安装空间&#xff0c;软件上看数据模型好不好解析、云接口顺不顺、CT 变比怎么配。这一篇从开发者角度把三款产品的软件差异讲清楚。 选型三个问题对应三种数据结构 Wi-Fi 电表选型的三个基础问题 —— 单相还是三相、直连还是 …

作者头像 李华
网站建设 2026/10/1 2:55:28

EasyClick苹果自动化脚本怎么选路线?先看你每天要重复做什么

别先挑技术&#xff0c;先说你每天在做什么 问「苹果自动化脚本该选哪条路线」的人&#xff0c;多半已经看过一圈资料&#xff0c;知道有代理、有 USB HID、有蓝牙 HID&#xff0c;甚至知道各自的系统要求。但看完还是不知道选哪个。 原因是问错了顺序。路线不是选出来的&#…

作者头像 李华
网站建设 2026/10/1 2:55:28

后端0名额AI岗全批,薪资高20%,纯后端标签贬值如何破局?

后端0名额AI岗全批&#xff0c;薪资高20%&#xff0c;纯后端标签贬值如何破局&#xff1f; 近期脉脉上一则用户讨论揭示出强烈反差&#xff1a;Q3盘点中&#xff0c;某团队后端0名额获批&#xff0c;反而全批了2个AI应用工程师岗&#xff0c;且薪资高出后端20%。原帖用户讨论称…

作者头像 李华
网站建设 2026/10/1 2:54:37

开源的 HeyGen 替代方案: 做数字人视频,不用自己备显卡。

HeyGen 的开源答案——MuseTalk、Duix-Avatar、daVinci-MagiHuman——大多是要你自己托管的模型权重&#xff0c;也就是先备一块显卡、再花一天把环境搭起来&#xff0c;才能出第一个片段。Orkas 是 MIT 开源&#xff0c;装起来就是一个普通的桌面应用&#xff0c;但生成走的是…

作者头像 李华
网站建设 2026/10/1 2:53:28

oracle 11g ocr 冗余配置

在11g 安装过程中默认仅仅能指定一个 dg 用来存储&#xff1a;crs &#xff0c;voting 可是oracle 官方一般建议我们这么来配置&#xff1a;1、当ocr没有配置镜像。或者冗余存储时 最少3个ocr 。 假设底层存储不是RAID的话&#xff0c;oracle建议镜像OCR&#xff0c;镜像能够避…

作者头像 李华