【Kubernetes】k8s集群之HPA

目录

一、HPA 概述

二、部署 metrics-server

三、部署 HPA

四、总结


一、HPA 概述

HPA(Horizontal Pod Autoscaling)Pod 水平自动伸缩,Kubernetes 有一个 HPA 的资源,HPA 可

以根据 CPU 利用率自动伸缩一个 Replication Controller、 Deployment 或者Replica Set 中的 Pod

数量

HPA 基于 Master 上的 kube-controller-manager 服务启动参数 --horizontal-pod-autoscaler-sync-period 定义的时长(默认为15秒),周期性的检测 Pod 的 CPU 使用率
HPA 与之前的 RC、Deployment 一样,也属于一种 Kubernetes 资源对象。通过追踪分析 RC 控制的所有目标 Pod 的负载变化情况, 来确定是否需要针对性地调整目标Pod的副本数,这是HPA的实现原理
metrics-server:集群插件组件,用于收集和聚合从每 kubelet 中提取的资源指标。API Server 提供 Metrics API 以供 HPA、VPA和 kubectl top 命令使用。Metrics Server 是 Metrics API 的参考实现

二、部署 metrics-server

上传components.yaml文件kubectl apply -f components.yamlkubectl top node

三、部署 HPA

//创建用于测试的 Pod 资源,并设置请求资源为 cpu=200m
vim hpa-pod.yaml
apiVersion: apps/v1
kind: Deployment
metadata:labels:run: php-apachename: php-apache
spec:replicas: 1selector:matchLabels:run: php-apachetemplate:metadata:labels:run: php-apachespec:containers:- image: mirrorgooglecontainers/hpa-examplename: php-apacheimagePullPolicy: IfNotPresentports:- containerPort: 80resources:requests:cpu: 200mlimits:cpu: 500m
---
apiVersion: v1
kind: Service
metadata:name: php-apache
spec:ports:- port: 80protocol: TCPtargetPort: 80selector:run: php-apachekubectl apply -f hpa-pod.yamlkubectl get pods

//使用 kubectl autoscale 命令创建 HPA 控制器,设置 cpu 负载阈值为请求资源的 50%,指定最少负载节点数量为 1 个,最大负载节点数量为 10 个

kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10

四、总结

HPA的工作原理:利用metrics-server组件定期的(默认为15秒)收集Pod资源的CPU或内存平均

负载情况,根据HPA资源配置的CPU或内存的requests资源量阈值百分比来动态调整Pod的副本数

HPA扩容时,Pod副本数量上升会比较快;缩容时,Pod副本数量下降会比较慢(默认冷却时间为

5m)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 实现傅里叶变化(DFT)

1、DFT函数类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DFT_FFTApp.Utils {public class DFT{/// <summary>/// DFT/// </summary>/// <param name"data"&g…

Systemc example based on VCS

README VCS example path: $VCS_HOME/doc/examples/systemc/ SYSTEMC_HOME: module load systemc(or 自己download systemc, VCS_HOME下应该也有&#xff1a;$VCS_HOME/include/systemc233/tlm_utils) gcc需要是7.3.0版本&#xff0c;module load gcc/7.3.0 注意事项 vcs …

C语言典型例题55

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 题目&#xff1a; 例题4.7 兔子的繁殖。这是一个有趣的古典问题&#xff1a;有一对兔子&#xff0c;从出生后的第3个月开始起每个月都生一对兔子。小兔子长到第3个月又生一对兔子。假设所有兔子都不死&#xff0c;…

二叉搜索树进阶之红黑树

前言&#xff1a; 在上文我们已经学习了AVL树的相关知识以及涉及的四种旋转的内容&#xff0c;但是AVL树追求平衡导致旋转操作过多&#xff0c;一些情况下影响性能&#xff0c;由此我们就来了解一下二叉搜索树的另外一个分支&#xff0c;红黑树。 &#xff08;倘若对旋转知识…

2024版Assimp配置教程

最近想看看图形学&#xff0c;选择速通LearnOpenGL&#xff0c;不出意外最耗时间的依然是配置环境。按照教程上的把GLFW等等配置的没有问题&#xff0c;但是在Assimp这里卡住了。原因是教程上说的不详细&#xff0c;而网上查的又和现在的版本相去甚远&#xff0c;导致捣鼓了好一…

从web.xml动态读取sunspringmvc.xml文件

文章目录 1.问题分析1.SunWebApplicationContext.java 中sunspringmvc.xml是写死的2.但是web.xml已经配置了init-param&#xff0c;所以应该是可以读取的 2.具体实现1.SunDispatcherServlet.java 得到ServletConfig传递给Spring容器完成初始化2.SunWebApplicationContext.java …

Python中的“for循环”:探索其无限潜力

引言 for循环是任何Python程序员工具箱中的必备技能之一。无论是在处理数据时需要遍历数组&#xff0c;还是在编写Web应用时循环处理请求&#xff0c;亦或是进行复杂的算法实现&#xff0c;for循环都能派上大用场。通过掌握for循环的不同用法&#xff0c;我们可以更高效地解决…

【C++从小白到大牛】C++的隐式和显示类型转换基础知识讲解

目录 1、C语言中的类型转换 2、C语言和C中可以相互转换的类型总结 C语言&#xff1a; CPP&#xff1a; 3. 为什么C需要四种类型转换 4、C四大强制类型转换 4.1static_cast 4.2 reinterpret_cast 4.3 const_cast 4.4dynamic_cast 注…

基于x86 平台opencv的图像采集和seetaface6的性别识别功能

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 配置资源文件3.3 验证功能一、概述 本文档是针对x86 平台opencv的图像采集和seetaface6的性别识别功能,opencv通过摄像头采集视频图像,将采集的视频图像送给seetaface6的性别识别模块从而实现…

JS将class转换为function

类定义与构造函数 在JavaScript中&#xff0c;类的定义可以通过class关键字来实现&#xff0c;也可以通过传统的构造函数和原型链的方式来实现。上述代码展示了这两种不同的实现方式。 使用class关键字 class Example {constructor(name) {this.name name;}func() {console…

谓词和量词

一、个体词和谓词 命题是一句陈述句&#xff0c;命题由个体词和谓词组成。 个体词是句子中的主语部分&#xff0c;比如这里的王童。 谓词是句子里的剩余部分&#xff0c;比如是一个三好学生 个体词用小写字母表示&#xff0c;谓词用大写字母&#xff0b;&#xff08;&#…

Java核心API——io类缓冲流

在前面的学习中我们学习了如何向文件中简单的传输写入数据 java将流分为两类 节点流与处理流 节点流: 又称为低级流,特点:实际连接程序与另一端的"管道",负责实际读写数据的流. IO一定是建立在某个低级流的基础上进行的. 文件流就是低级流,它们是实际连接程序与…

数据库(专业存储数据)

数组、链表、变量----->内存&#xff1a;程序运行结束&#xff0c;数据丢失 文件-------------->硬盘 数据库&#xff1a;专业存储数据&#xff0c;大量数据----------->硬盘 一、数据库文件与普通文件区别: 1.普通文件对数据管理(增刪改查)效率低 2.数据库对数据…

算法: 双指针

题目&#xff1a;环形链表 题目讲解&#xff1a; 判断环 要判断链表是否有环&#xff0c;可以使用快慢指针的方法。快指针每次走两步&#xff0c;慢指针每次走一步。如果链表有环&#xff0c;快慢指针最终会相遇&#xff1b;如果没有环&#xff0c;快指针会先到达链表末尾。 …

11.舵机控制

jd就是cnt&#xff0c;分别对应着 0.5ms-------------0度&#xff1b; 1 1.0ms------------45度&#xff1b; 2 1.5ms------------90度&#xff1b; 3 2.0ms-----------135度&#xff1b; 4 2.5ms-----------180度&#xff1b; 5 并且软…

【PostgreSQL教程】PostgreSQL 高级篇之索引

博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…

java操作zookeeper

java操作zookeeper 文档 linux安装java -centos安装java -linux配置java环境变量zookeeper单机安装zookeeper集群安装zookeeper客户端命令行操作、节点类型及监听器zookeeper集群写数据原理java操作zookeeper 依赖信息 <dependency><groupId>junit</groupId…

MySQL:简述对事务的认识

浅谈对Spring事务的认识&#xff1a;https://xiaoer.blog.csdn.net/article/details/80849971 一、事务的特性 事务是数据库永恒不变的话题&#xff0c; ACID&#xff1a;原子性&#xff0c;一致性&#xff0c;隔离性&#xff0c;持久性。 &#xff08;1&#xff09;原子性&am…

基于麒麟信安操作系统的光伏发电功率预测系统完成大规模部署建设

麒麟信安操作系统&#xff0c;作为行业数智化建设的安全根基&#xff0c;为电力业务系统提供了稳定可靠的底层平台&#xff0c;在全球能源结构转型大潮中扮演着至关重要的角色。某光伏电站项目中&#xff0c;基于麒麟信安操作系统的光伏发电功率预测系统完成大规模部署建设&…

手机游玩植物大战僵尸杂交版V2.3.7最新版教程(文章末尾免费直接下载链接)

最新版植物大战僵尸杂交版V2.3.7手机游玩教程 【V2.3.7全面升级】植物大战僵尸杂交版&#xff1a;跨平台终极安装指南 - 苹果、安卓、电脑、电视兼容&#xff0c;界面革新&#xff0c;16卡槽扩展&#xff0c;高分辨率支持&#xff0c;BUG修复&#xff0c;畅享游戏乐趣 前言 …