当前位置: 首页 > news >正文

【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.mrgr.cn/news/14113.html

相关文章:

  • 视频结构化从入门到精通——认识视频结构化
  • Tiptap中BubbleMenu讲解
  • 虚拟内存管理和保护模式
  • SpringBoot配置多个kafka配置
  • 神经网络——CIFAR10小实战
  • RabbitMQ 常见问题与故障排查
  • 奇门WMS-A和金蝶云星空单据接口对接
  • 程序设计训练3.16最大报销额
  • 主机休眠之后 Ubuntu 虚拟机无网络
  • 【有道云-注册安全分析报告】
  • 小程序面试题一
  • 彩色相机拍照,图片时亮时暗
  • 悬浮翻译软件有哪些?试试这些利器
  • 独立站除了Shopify还有什么?
  • 数据库:头歌实验二数据库安全性技术
  • 【网络安全】服务基础第一阶段——第六节:Windows系统管理基础---- DNS部署与安全
  • 从算法到硬件实现:《基于FPGA的数字信号处理》(可下载)
  • 【IoT】将各类遥控器(红外,频射,蓝牙,wifi,Zigbee)等设备接入米家,实现家庭物联网设备控制(以极米Z7X投影仪为例)
  • 骁龙CPU简介
  • gitlab使用