hpa自动伸缩

这篇具有很好参考价值的文章主要介绍了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

hpa自动伸缩,docker,容器,运维

方式2:edit修改控制器

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维

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

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维

(2)hpa自动扩缩容

监控指标是cpu

hpa自动扩缩容实验

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

docker load -i metrics-server.tar

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维

2、安装yaml文件(master节点)hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维查看pod以及node节点占用cpu情况hpa自动伸缩,docker,容器,运维

3、实现hpa

hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维4、模拟cpu负载,压力测试hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

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

5、再做压力测试hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维观察数据hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

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

6、缩容:关闭压力测试hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

4资源限制

(1)pod的资源限制limit

(2)命名空间资源限制★★★

lucky-cloud项目部署在test1的命名空间,若pod不做限制,或命名空间不做限制,依然会占满所有集群资源

①ResourceQuata可以对命名空间进行资源限制

②LimitRange直接声明在命名空间中创建的pod或容器的资源限制(这是一个统一限制,所有在这个命名空间中的pod都受这个条件的限制)

• ResourceQuatahpa自动伸缩,docker,容器,运维

创建命名空间test1

hpa自动伸缩,docker,容器,运维

对命名空间进行资源限制

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

测试

①调整pod副本数

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

结论:在此命名空间只能创建3个有效的pod

②缩容

hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

③命名空间其他限制条件

hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

configmaps: "10"

在当前名命名空间创建最大的configmap的数量10个

persistentvolumeclaims: "4"

在当前命名空间只能使用4个pvc

secrets: "5"

创建加密的secret只能5个

services: "5"

创建service的个数只能5个

services.nodeports: "2"

创建service的nodeport类型的svc只能2个

hpa自动伸缩,docker,容器,运维

测试

①创建svc1

hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

结论:第1个svc创建成功

②创建svc2

hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

结论:第2个svc创建成功

③创建svc3

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

结论:在test1这个命名空间中限制只能创建2个service.nodeport

查看命名空间的限制

hpa自动伸缩,docker,容器,运维

 LimitRange

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维

创建命名空间

hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维hpa自动伸缩,docker,容器,运维

压力测试

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维

hpa自动伸缩,docker,容器,运维

结论:最多只能占1个cpu(1000m代表1个cpu)

type类型

container(常用)

pod

pvc文章来源地址https://www.toymoban.com/news/detail-819344.html

到了这里,关于hpa自动伸缩的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S自动化运维容器化(Docker)集群程序

    1.什么是K8S K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container Schedul

    2024年02月10日
    浏览(43)
  • K8S:K8S自动化运维容器Docker集群

    (1)K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 (2)版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 (3)官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container S

    2024年02月10日
    浏览(57)
  • K8S:K8S自动化运维容器化(Docker)集群程序

    目录 一、K8S概述 1、什么是K8S 2、为什么要用K8S 3、作用及功能 二、K8S的特性 1、弹性伸缩 2、自我修复 3、服务发现和复制均衡 5、自动发布和回滚 6、集中化配置管理和秘钥管理 7、存储编排 8、任务批量处理运行 三、K8S的集群架构 四、K8S的核心组件 1、Master组件 ①Kube-apis

    2024年02月12日
    浏览(41)
  • 【云原生•监控】基于Prometheus实现自定义指标弹性伸缩(HPA)

    「Autoscaling即弹性伸缩,是Kubernetes中的一种非常核心的功能,它可以根据给定的指标(例如 CPU 或内存)自动缩放Pod副本,从而可以更好地管理和利用计算资源,提高系统的可用性和性能,同时减少开销和成本。弹性伸缩可以解决服务负载存在较大波动或资源实际使用与预估

    2024年02月14日
    浏览(33)
  • 24-k8s的附件组件-Metrics-server组件与hpa资源pod水平伸缩

            Metrics-Server组件目的:获取集群中pod、节点等负载信息;         hpa资源目的:通过metrics-server获取的pod负载信息,自动伸缩创建pod; 参考链接: 资源指标管道 | Kubernetes https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/metrics-server GitHub - kubernetes-sigs/metrics-server:

    2024年02月21日
    浏览(33)
  • 《Docker和服务器无状态化:容器化应用的优势,构建高可伸缩性和灵活性》

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(35)
  • 第七次作业 运维高级 docker容器进级版

    1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 (1)拉取相应镜像 (2)运行mysql:5.6容器 (3)运行owncloud容器 (4)查看并验证 之后在浏览器中输入ipaddress:8080 2、安装搭建私有仓库 Harbor (1)下载好harbor和docker-compose (2)上传到Linux服务器 (3)复制docker-compose并修改权限 (4)解压harbor (

    2024年02月12日
    浏览(42)
  • 【运维知识大神篇】运维人必学的Docker教程1(Docker安装部署+Docker镜像管理+容器管理常用命令+搭建docker的本地yum源+windows系统安装docker环境)

    本篇文章开始给大家介绍Docker,这个是我非常喜欢的一个服务,介绍给大家,希望大家也能喜欢! 目录 何为容器 Docker环境安装部署 一、yum安装(CentOS7.9) 二、rpm包安装(CentOS) 三、卸载docker环境 四、安装指定的docker版本 五、Ubuntu安装docker环境 六、使用deb安装docker 七、

    2024年01月18日
    浏览(77)
  • 小白到运维工程师自学之路 第六十二集 (docker持久化与数据卷容器)

    一、概述 Docker持久化是指将容器中的数据持久保存在主机上,以便在容器重新启动或迁移时不丢失数据。由于Docker容器是临时和可变的,它们的文件系统默认是易失的,这意味着容器中的任何更改或创建的文件都只存在于此容器的生命周期内。但是,在许多场景中,我们希望

    2024年02月14日
    浏览(29)
  • 【运维篇】基于docker,jenkins结合gitlab做自动部署

    我的环境是windows系统,使用Docker Desktop制作了gitlab容器和jenkins容器,也可以在虚拟机上使用docker。 gitlab有镜像我们直接使用即可,jenkins镜像有一些环境没有,我们在它的基础上添加一些环境。 需要准备的文件比较多,我百度网盘共享一下。 链接:https://pan.baidu.com/s/1K7FD-ngQ

    2024年01月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包