hpa自动伸缩

1、定义:hpa全称horizontal pod autoscaling(pod的水平自动伸缩),这是k8s自带的模块。pod占用CPU的比率到达一定阀值会触发伸缩机制(根据CPU使用率自动伸缩)

replication controller副本控制器,控制pod的副本数

deployment controller节点控制器,部署pod

hpa控制副本的数量以及控制部署pod

(1)hpa基于kube-controll-manager服务,周期性的检测pod的CPU使用率,默认30秒检测一次

(2)hpa和replication controller、deployment controller都属于k8s的资源对象,通过跟踪分析副本控制器和deployment的pod的负载变化,针对性的调整目标pod的副本数(针对性:有一个阀值,正常情况下,pod的副本数,以及达到阀值后pod的扩容最大数量)

(3)metrics-server部署到集群中去,对外提供度量的数据

2、hpa规则【面试】

(1)定义pod时必须要有资源限制,否则hpa无法进行监控

(2)扩容是即时的,只要超过阀值会立刻扩容,但不是立刻扩容到最大副本数,会在最小值和最大值之间波动。若扩容数量满足需求,不会再扩容

(3)缩容是缓慢的,若业务峰值较高,回收策略太积极可能对业务产生崩溃。周期行的获取数据,缩容的机制问题

3、pod的副本数扩缩容有两种方式

(1)手动方式,修改控制器的副本数

方式1:命令行通过kubectl scale deployment nginx --replicas=3

方式2:edit修改控制器

方式3:修改yaml文件,使用apply -f部署更新

(2)hpa自动扩缩容

监控指标是cpu

hpa自动扩缩容实验

1、安装镜像包(每个节点)

docker load -i metrics-server.tar

2、安装yaml文件(master节点)查看pod以及node节点占用cpu情况

3、实现hpa

4、模拟cpu负载,压力测试

下降原因:每个pod部署在不同节点上

5、再做压力测试观察数据

结论:一旦超过阀值,立刻扩容

6、缩容:关闭压力测试

4资源限制

(1)pod的资源限制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个cpu(1000m代表1个cpu)

type类型

container(常用)

pod

pvc

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

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

相关文章

带头 + 双向 + 循环链表增删查改实现

目录 源码: List.c文件: List.h文件: 简单的测试: 很简单,没什么好说的,直接上源码。 源码: List.c文件: #include"DLList.h"ListNode* creadNode(LTDataType x) {L…

力扣!30天60道(第2天)

第1题(1.22) &#xff1a;两数之和 解法一&#xff1a;暴力破解 #include <iostream> #include <vector> #include <map> using namespace std;class Solution { public:vector<int> twoSum1(vector<int>& nums, int target) {for (int i …

Java项目:基于ssm框架实现的电影评论系统(ssm+B/S架构+源码+数据库+毕业论文)

一、项目简介 本项目是一套ssm826基于ssm框架实现的电影评论系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#x…

grpcui安装使用

官网地址&#xff1a;https://github.com/fullstorydev/grpcui 安装命令&#xff1a; go get github.com/fullstorydev/grpcui go install github.com/fullstorydev/grpcui/cmd/grpcui ./bin/grpcui --import-path/home/xx/proto -proto xx.proto --plaintext 10.2.9.112:1…

GEE脚本——GEE中如何查询历史脚本和防丢失记录

很多时候我们会发现我们之前编辑的脚本不见了,本来已经编辑好了但是发现原来的脚本更完美,至于诸如此类的一些问题,当我们在使用GEE中的代码编译器的时候会时不时的出现,这里我们也无需过多担心,这里只要你首次将代码保存在你所创建的项目当中的时候我们就可以查看以往每一…

【爬虫、数据可视化实战】以“人口”话题为例爬取实时微博数据并进行舆情分析

前言&#xff1a; 近期在weibo上讨论的比较热的话题无非就是“人口”了。TaoTao也看了一些大家发的内容。但是感觉单纯的看文字内容不能很直观的反应出来大家的关切。索性就使用爬虫对数据进行爬取&#xff0c;同时结合着数据可视化的方式让数据自己开口说话。那么接下来就让我…

Python源码49:海龟画图turtle画美国旗

---------------turtle源码集合--------------- Python教程91&#xff1a;关于海龟画图&#xff0c;Turtle模块需要学习的知识点 Python源码45&#xff1a;海龟画图turtle画雪容融 Python源码44&#xff1a;海龟画图turtle&#xff0c;画2022卡塔尔世界杯吉祥物 Python教程…

前端JavaScript篇之实现有序数组原地去重方法有哪些?

目录 实现有序数组原地去重方法有哪些&#xff1f;方法一&#xff1a;使用 Set 数据结构代码实现&#xff1a;思路说明&#xff1a; 方法二&#xff1a;使用双指针遍历代码实现&#xff1a;思路说明&#xff1a; 实现有序数组原地去重方法有哪些&#xff1f; 在 JavaScript 中…

机器学习神器:Sklearn详解

引言 Sklearn (全称 Scikit-Learn) 是基于 Python 语言的机器学习工具。它建立在 NumPy, SciPy, Pandas 和 Matplotlib 之上&#xff0c;里面的 API 的设计非常好&#xff0c;所有对象的接口简单&#xff0c;很适合新手上路。 在 Sklearn 里面有六大任务模块&#xff1a;分别是…

怎样的安全数据交换系统 可以支持信创环境?

首先&#xff0c;我来看看&#xff0c;什么是安全数据交换系统&#xff1f;安全数据交换系统是一种专门设计用于在不同网络环境之间安全传输数据的技术解决方案。它确保数据在传输过程中的完整性、机密性和可用性&#xff0c;同时遵守相关的数据保护法规和行业标准。 那么&…

透明拼接屏显示:技术与应用

在当今的数字化时代&#xff0c;显示技术已成为我们日常生活和工作中的重要组成部分。透明拼接屏作为一种新型的显示技术&#xff0c;以其独特的透明设计和灵活的拼接特性&#xff0c;正逐渐在各个领域得到广泛应用&#xff0c;尼伽小编&#xff0c;将深入探讨透明拼接屏显示的…

灵感无限!12个设计师最爱的网站推荐,覆盖UX、网页设计和国外设计精华

即时设计资源广场 即时设计资源广场是中国优秀的UI设计网站&#xff0c;全中文环境&#xff0c;非常适合中国人使用。UI设计网站即时设计资源广场内置阿里、字节、腾讯、京东、谷歌、华为等设计系统&#xff0c;3000多个UI组件库&#xff0c;每月更新数百个高质量模板&#xf…

websocket服务端本地部署

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

空气净化器or宠物空气净化器?五款猫用空气净化器优质推荐!

作为一个养猫家庭的主人&#xff0c;每天都要面对清理猫砂盘的挑战&#xff0c;这种令人难以形容的气味实在让人难以忍受。尤其是家里有小孩和老人&#xff0c;他们可能会出现过敏性鼻炎等问题&#xff0c;而抵抗力较差的人更容易受到影响。此外&#xff0c;换毛季节到来时&…

性能优化(CPU优化技术)-NEON指令介绍

「发表于知乎专栏《移动端算法优化》」 本文主要介绍了 NEON 指令相关的知识&#xff0c;首先通过讲解 arm 指令集的分类&#xff0c;NEON寄存器的类型&#xff0c;树立基本概念。然后进一步梳理了 NEON 汇编以及 intrinsics 指令的格式。最后结合指令的分类&#xff0c;使用例…

数据运营项目1

下面是一些注意事项&#xff1a; 10w以上就不要用excel去做了会很卡很慢&#xff0c;可以考虑powerbi&#xff0c;用powerbi解决RFM模型 Powerbi替换时&#xff0c;替换没不写就行了&#xff0c;不是空值 主页分组依据就是拉数据透视表 所有工具都要打上双引号 文本不能做减…

Python + Selenium —— ActionChains动作链!

当你需要执行复杂的操作时&#xff0c;比如将一个元素按住拖动到另一个元素上去&#xff0c;需要移动鼠标然后点击并按下键盘某个按键等等。 当然&#xff0c;在 Web 页面上&#xff0c;这种操作好像比较少。 但是&#xff0c;如果遇到了怎么办呢&#xff1f;这就需要用到 Ac…

【Obsidian】【Git】使用gitee同步/保存obsidian笔记

Obisidian是一款markdown软件&#xff0c;使用它可以方便地记笔记、记录科研日常。然而如果在多个设备上使用obsidian&#xff0c;会牵扯到笔记/vault/仓库同步问题。下面来介绍如何用git管理obsidian。 1.创建gitee账号 略 2.下载Obsidian 略 3.新建git仓库 3.1在gitee上…

保姆版Vps安装灯塔(ARL)

因为灯塔的默认端口为5003&#xff0c;所以我们在安装之前就在防火墙里把我们的5003端口打开 打开端口步骤如下&#xff1a; 1.我们打开控制面板&#xff0c;在控制面板里点击 系统和安全 。如下图&#xff1a; 2.接着点击 Windows Defender防火墙,如下图&#xff1a; 3.再…

架构篇14:高性能数据库集群-读写分离

文章目录 读写分离原理复制延迟分配机制小结 高性能数据库集群的第一种方式是“读写分离”&#xff0c;其本质是将访问压力分散到集群中的多个节点&#xff0c;但是没有分散存储压力&#xff1b;第二种方式是“分库分表”&#xff0c;既可以分散访问压力&#xff0c;又可以分散…