k8s 1.23 如何实现pod自动扩容伸缩

kubernetes 中如何实现 Pod 自动扩缩容 k8s 应用自动扩缩容的方案 阅读详情

在 Kubernetes 1.23 中,可以使用 Horizontal Pod Autoscaler(HPA)来实现 Pod 的自动扩容和缩容。HPA 根据 CPU 使用率或其他指标(例如内存使用率或自定义指标)自动调整副本数量。以下是如何实现 Pod 自动扩容和缩容的步骤:

1. 安装 Metrics Server

首先,确保你已经安装了 Metrics Server,这是 HPA 的依赖组件,用于收集资源使用数据。

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

2. 创建 Deployment

创建一个 Deployment,用于演示自动扩容和缩容。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        resources:
          requests:
            cpu: "100m"
            memory: "128Mi"
          limits:
            cpu: "500m"
            memory: "512Mi"

保存上述 YAML 文件为 nginx-deployment.yaml,然后应用它:

kubectl apply -f nginx-deployment.yaml

3. 创建 Horizontal Pod Autoscaler

创建一个 HPA 资源,指定 CPU 使用率阈值和最小、最大副本数。

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: nginx-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: nginx-deployment
  minReplicas: 1
  maxReplicas: 10
  targetCPUUtilizationPercentage: 50

保存上述 YAML 文件为 nginx-hpa.yaml,然后应用它:

kubectl apply -f nginx-hpa.yaml

4. 验证 HPA 是否工作

你可以使用以下命令查看 HPA 的状态:

kubectl get hpa

为了测试 HPA 的自动扩容,你可以向 nginx Deployment 施加负载。例如,使用 kubectl run 命令创建一个 busybox 容器来生成 CPU 负载:

kubectl run -i --tty load-generator --image=busybox /bin/sh

然后在 busybox 容器中运行以下命令:

while true; do wget -q -O- http://nginx-deployment.default.svc.cluster.local; done

这样会对 nginx 容器施加持续的负载。观察 HPA 的状态和 Deployment 的副本数量,你会看到随着 CPU 使用率的增加,HPA 会自动扩展 Pod 数量。

5. 监控和调试

你可以使用以下命令查看具体的 Pod 资源使用情况:

kubectl top pod

kubernetes(k8s):基于metrics server的HPA(pod水平自动弹性伸缩) 1. Horizontal Pod Autoscaler(HPA) pod水平自动伸缩 官网:https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ 阅读详情

相关推荐

告别手动伸缩:深度解析Ray on K8s的自动扩缩容策略与性能调优

本文深入解析Ray在Kubernetes(K8s)环境下的自动扩缩容策略与性能调优方法。通过对比Conservative、Default和Aggressive三种伸缩模式的性能特征,提供选型指南和实战案例,帮助技术团队优化资源利用率与成本控制。文章还探讨了资源规划模式、动态调参技巧及特殊场景下的弹性策略定制,为分布式计算任务提供高效解决方案。

weixin_30740295的博客 322

k8s教程(pod篇)-扩缩容

主要讲解pod扩缩容的一些概念以及案例

阿甘兄 7104

1.k8s基础介绍

本文介绍了Kubernetes(k8s)的核心概念与技术架构。首先概述了学习k8s的前置知识要求,包括Linux、Docker、网络协议等基础知识。随后分析了k8s的技术演进路径,从虚拟化到容器技术再到云原生的发展历程。重点阐述了k8s的集群架构,详细说明了Master节点(API Server、Scheduler等)和Worker节点(Kubelet、Kube-Proxy等)的组件功能及交互流程。最后介绍了k8s的核心模型对象,包括Pod、Controllers、Service等关键概念。全文系统性地讲解

2202_75490033的博客 424

k8s中实现pod自动扩缩容

k8s中pod自动扩容缩容操作

weixin_45432833的博客 2939

甩掉容量规划炸弹:用 AHPA 实现 Kubernetes 智能弹性伸缩

我们提出了一种智能化弹性伸缩方案 AHPA,可以根据历史时序数据进行主动预测,提前扩容,避免弹性滞后。同时,会根据实时数据动态调整主动预测结果,兼容周期变动等场景。

阿里云云栖号 1160

SPAD 单光子雪崩二极管

SPAD,全称为,是一种高灵敏度的光电探测器件,能够在非常低的光照水平下检测单个光子。SPAD在工作时,当一个光子被探测器吸收后,能够触发一个雪崩效应,产生一个可以被检测到的电信号。

qq_42786033的博客 1万+

K8S中的pod自动扩容与缩容

Horizontal Pod Autoscaler(HPA,Pod水平自动伸缩),根据平均 CPU 利用率、平均内存利用率或你指定的任何其他自定义指标自动调整 Deployment 、ReplicaSet 或 StatefulSet 或其他类似资源,实现部署的自动扩展和缩减,让部署的规模接近于实际服务的负载。HPA不适用于无法缩放的对象,例如DaemonSet。

L2111533547的博客 6175

Matplotlib图片尺寸调整全攻略:从figsize到savefig的实战技巧

在数据可视化与科学计算中,图形尺寸控制是影响图表可读性与专业度的基础环节。其核心原理在于协调逻辑尺寸(英寸)与物理输出(像素)的映射关系,这直接决定了信息呈现的清晰度与布局合理性。从技术价值看,精准的尺寸控制能提升图表在不同媒介(如学术论文、报告、网页)中的适配性,避免显示不全、模糊失真等常见问题。在应用场景上,无论是Jupyter Notebook中的交互探索、自动化报告的批量生成,还是满足严格出版要求的插图制作,都需要掌握对应的尺寸调整策略。本文聚焦于matplotlib中的figsize参数、rcPa

weixin_30899023的博客 328

【kubernetes系列】Kubernetes之自动扩容Horizontal Pod Autoscaling(HPA)

然后,通过现有pods的CPU使用率的平均值(计算方式是最近的pod使用量(最近一分钟的平均值,从heapster中获得)除以设定的每个Pod的CPU使用率限额)跟目标使用率进行比较,并且在扩容时,还要遵循预先设定的副本数限制:MinReplicas

margu_168的博客 2201

Matlab使用GitHub的踩坑记录(持续更新)

Matlab使用git的踩坑记录前言Matlab设置Git的官方帮助文档系统配置新建Git两种代码管理方式典型源代码管理SVN分布式源代码管理 Git注意:SVN和Git都可以用GitHub创建新的库 前言 作为Git初学者,对Git的代码版本管理非常非常喜欢,给了我极大的安全感。特别是想到之前的几次Matlab、Latex和python的代码莫名其妙被折腾没了又没法找回的悲剧,决定慢慢的走入gi...

voluntry的博客 7296

手把手教你用Docker快速部署开源MES系统(附避坑指南)

本文提供了一份详细的实战指南,手把手教你使用Docker容器化技术快速部署开源MES系统。内容涵盖从环境准备、项目选型、数据库配置到应用服务器优化、前端部署及生产环境监控的全流程,并附有避坑指南,旨在帮助中小制造企业IT人员和开发者低成本、高效率地构建智能制造解决方案。

f0g1h2的博客 1059

kubernetes:HPA(1.Horizontal Pod Autoscaler pod水平自动伸缩)

kubernetes1. Horizontal Pod Autoscaler pod水平自动伸缩1.1 以cpu的使用率判断pod的扩容和缩容1.2 使用多个指标作为伸缩的条件 1. Horizontal Pod Autoscaler pod水平自动伸缩 官网:https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ 1.1 以cpu的使用率判断pod的扩容和缩容 [root@serve

weixin_43384009的博客 323

KCP(快速可靠UDP)——用带宽换延迟的极致艺术

想象你是一个外卖平台的调度员。这就是KCP的本质——

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 202

水平自动扩容和缩容HPA、Networkpolicy、kubernetes用户安全控制和kubernetes创建普通用户(2024-07-10)

比如网段、命名空间、Pod标签,Ports定义目标端口。

Chauncey_Qin的博客 901

RAGFlow升级指南(纯小白都看得懂)

升级背景:RAGFlow项目原来的版本是0.17.0版本,在使用过程中,发现当知识库检索为空的时候并且使用到rerank模型的时候,就会输出错误的信息;为了解决这个版本问题,特意升级到最新的版本0.17.2(截止2025-3-14时最新版本就是0.17.2了)官方升级文档https://ragflow.io/docs/dev/upgrade_ragflow官方文档对小白还是不太友好,作者也是捣鼓了十多分钟,特出下面的升级指南前提:旧版本的RAGFlow项目是启动好了的1.在ragflow目录下执行(拉取最新

Ven%的博客 3596

【测开求职】面试题:JAVA 吐血整理

本篇文章包含本次测开工程师秋招过程中遇到的所有JAVA面试题,全文两万字,亲测应对各个大厂的面试毫无压力👉

vector的博客 1211

水平自动扩容和缩容HPA;API资源对象NetworkPolicy;Kubernetes用户安全控制;Kubernetes创建普通用户示例

比如创建Pod,它会检查提交的信息是否符合创建Pod的规范,如果不符合规范就拒绝。另外,准入控制还会帮助我们把我们没有明确指定的字段信息,通过默认值的方式把对应的字段填充到客户端请求中,然后把填充好的信息一并由APIserver把客户端请求更新到对应资源在etcd中的对应信息上。Adminssion Control实际上是一个准入控制器插件列表,发送到API Server的请求都需要经过这个列表中的每个准入控制器插件的检查,检查不通过,则拒绝请求。基于白名单模式,符合规则的对象通过,不符合的拒绝。

weixin_44681307的博客 1048

【深度学习|学习笔记】广义线性模型Generalized linear model(GLM)模型详解,附代码。

【深度学习|学习笔记】广义线性模型Generalized linear model(GLM)模型详解,附代码。

2401_89898861的博客 1872

k8s的自动化扩容(hpa)与常规化手动扩容pod——随记

1、常规手动扩容缩容 可以通过: kubectl scale 的形式在master节点上以命令的形式进行更新 亦或者: kubectl edit deploy/sts xxxxx 通过进入yaml的文件来改里面的replicas 然后再用apply -f更新 登录后复制 #主要是在yaml文件中找到spec下的repli...

weixin_30350163的博客 274

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

如何理解 K8s 动态伸缩与触发上线?

如何理解 K8s 动态伸缩与触发上线?

RAB 1101

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Kubernetes 弹性伸缩全解析:HPA、VPA 与集群节点伸缩

本文详解Kubernetes弹性伸缩的三层模型:L1 HPA(横向扩缩副本)、L2 VPA(纵向调整Pod资源)、L3 CA(节点自动增减),揭示其协同机制与常见故障根因。重点解析HPA轮询、指标来源、稳定窗口及behavior配置,强调避免HPA/VPA同指标冲突、配齐CA防止Pending等问题。通过实战演示,指导用户构建高效、稳定的自动伸缩体系,实现成本与性能的平衡。

weixin_42211117的博客 517

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

k8s的弹性伸缩

本文基于KubeEasy部署的Kubernetes集群,演示了通过Metrics Server实现HPA自动扩缩容的完整流程。首先部署Nginx应用并配置NodePort服务暴露端口,随后使用kubectl autoscale创建HPA策略,设定CPU使用率阈值为50%,最小副本数3,最大10。通过模拟高负载(如持续访问或容器内循环任务),触发扩容至5个Pod;负载降低后,自动缩容回3个,验证了弹性伸缩的有效性。

2501_91831985的博客 319

mysql qps 简书_终于成功部署 Kubernetes HPA 基于 QPS 进行自动伸缩

昨天晚上通过压测验证了 HPA 部署成功了。所使用的 HPA 配置文件如下:apiVersion: autoscaling/v2beta2kind: HorizontalPodAutoscalermetadata:name: blog-webspec:scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: blog-webminReplica...

weixin_42452892的博客 340

Kubernetes动态伸缩提升Scrapy爬虫集群性能

分布式爬虫系统是应对大规模数据采集的关键技术,其核心在于任务调度与资源管理。通过Redis实现消息队列可确保任务的高效分发,而Kubernetes容器编排平台则提供了动态扩缩容能力,实现计算资源的弹性调度。这种架构特别适合电商价格监控等存在明显波峰波谷的业务场景,既能保障高峰期任务吞吐量,又可降低闲置资源成本。本文以Scrapy-Redis与K8s的深度集成为例,详解如何通过HPA自动伸缩策略和Prometheus监控体系,构建具备故障自愈能力的爬虫集群,实测在618大促期间任务完成时间缩短47%的同时降低

weixin_32183107的博客 276

K8s+HPA自动扩容实战:AI健康系统如何应对流量高峰

在云原生架构中,弹性伸缩是保障服务稳定性的核心能力。Kubernetes(K8s)作为容器编排的事实标准,提供了HPA(Horizontal Pod Autoscaler)这一原生自动扩容机制。HPA通过持续监测Pod的CPU、内存或自定义指标,基于实时数据计算期望副本数,并在流量高峰时自动增加实例、流量回落后平滑缩容。这一机制解决了传统固定资源部署在突发流量下的资源浪费和服务超时问题,尤其适用于具备潮汐效应的业务场景。以AI虚拟健康系统为例,其智能问诊、报告生成等服务在晚高峰和活动期间流量激增,借助K8s

weixin_34101914的博客 254
上一篇: Dockerfile 部署 Java、Python、Go 和 Vue 项目
下一篇: Java中实现多线程的几种方式
yymagicer
博客等级 码龄13年 1425粉丝 180原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

yymagicer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值