Kubernetes - HPA-VPA - metrics介绍和安装 - HPA实验

文章详细介绍了Kubernetes中的水平自动扩展器HPA(HorizontalPodAutoscaler)和垂直自动扩展器VPA(VerticalPodAutoscaler)。HPA通过增加或减少Pod的副本数量来应对负载变化,而VPA则动态调整Pod的CPU和内存资源请求。MetricsServer作为Kubernetes获取资源指标的来源,对于两者的工作至关重要。文中还提供了MetricsServer的安装步骤以及HPA的实践操作,包括创建、测试和负载模拟。

目录

参考文章:(97条消息) Kubernetes-自动扩展器HPA、VPA、CA_hpa vpa_SRE运维充电站的博客-优快云博客

HPA

VPA

官方网址:autoscaler/vertical-pod-autoscaler at master · kubernetes/autoscaler · GitHub

HPA和VPA进行扩缩容的区别:

metrics server

官方网址:autoscaler/vertical-pod-autoscaler at master · kubernetes/autoscaler · GitHub

安装Metrics Server

1、下载官方的yaml文件,并修改image为阿里云的地址

2、执行安装命令

3、测试效果

安装HPA

参考文章:(117条消息) k8s - 容器类型 - logrotate日志轮转工具 - HPA的部署 - Dashboard安装部署_k8s logrotate_Wangsh@的博客-优快云博客

1、安装好metrics-server

2、创建HPA功能

2、生成镜像文件

3、创建php-apache.yaml 

4、创建HPA

4.1、导出hpa-example镜像,并传到每一台node节点服务器上去

4.2、然后删除pod(删除php-apache.yaml),又重启pod

5、增加负载

6、停止产生负载


参考文章:(97条消息) Kubernetes-自动扩展器HPA、VPA、CA_hpa vpa_SRE运维充电站的博客-优快云博客

HPA

HPA 是 Horizontal Pod Autoscaler(自动扩缩容)。

它是 Kubernetes 中的一个功能,用于根据 CPU 使用率或其他指标自动调整同一 Deployment 或 ReplicaSet 中运行的 Pod 的副本数量。

在 Kubernetes 中,HorizontalPodAutoscaler 自动更新工作负载资源 (例如 Deployment 或者 StatefulSet), 目的是自动扩缩工作负载以满足需求。

水平扩缩意味着对增加的负载的响应是部署更多的 Pods。 这与 “垂直(Vertical)” 扩缩不同,对于 Kubernetes, 垂直扩缩(VPA)意味着将更多资源(例如:内存或 CPU)分配给已经为工作负载运行的 Pod。

如果负载减少,并且 Pod 的数量高于配置的最小值,HPA会指示工作负载资源( Deployment、StatefulSet 或其他类似资源)缩减。

水平 Pod 自动扩缩不适用于无法扩缩的对象(例如:DaemonSet。)

HPA 被实现为 Kubernetes API 资源和控制器。

资源决定了控制器的行为。在 Kubernetes 控制平面内运行的水平 Pod 自动扩缩控制器会定期调整其目标(例如:Deployment)的所需规模,以匹配观察到的指标, 例如,平均 CPU 利用率、平均内存利用率或你指定的任何其他自定义指标。

VPA

官方网址:autoscaler/vertical-pod-autoscaler at master · kubernetes/autoscaler · GitHub

使用户无需设置最新的资源限制和对容器中容器的请求。什么时候配置,它将根据使用情况自动设置请求,从而允许对节点进行适当的调度以便适当的资源量可用于每个容器。它还将保持限制和 在初始容器配置中指定的请求。

它既可以缩小过度请求资源的 pod,也可以根据资源的使用情况请求不足的升级Pod,这些Pod 在时间。

VPA 全称 Vertical Pod Autoscaler,即垂直 Pod 自动扩缩容,可以根据容器资源使用情况自动设置 CPU 和 内存 的请求值,从而允许在节点上进行适当的调度,以便为每个 Pod 提供适当的资源。它既可以缩小过度请求资源的容器,也可以根据其使用情况随时提升资源不足的容量。

通过扩缩pod的cpu和内存的大小来提高/降低pod的处理能力

通过对pod的硬件的资源得到调整,来达到提升pod的处理能力

HPA和VPA进行扩缩容的区别:

HPV是通过改变Pod(副本)数量的

VPA是通过改变启动的Pod的cpu使用率和内存大小的

metrics server

官方网址:autoscaler/vertical-pod-autoscaler at master · kubernetes/autoscaler · GitHub

Metrics Server 是 Kubernetes 内置自动缩放管道的可扩展、高效的容器资源指标来源

Metrics Server 从 Kubelets 收集资源指标,并通过Metrics API在 Kubernetes apiserver 中公开它们, 以供Horizo​​ntal Pod Autoscaler(HPA )和Vertical Pod Autoscaler(VPA)使用。还可以通过 访问指标 API kubectl top,从而更轻松地调试自动缩放管道

Metrics Server基于内存存储,重启后数据将全部丢失,而且它仅能留存最近收集到的指标数据,因此,如果用户期望访问历史数据, 就不得不借助于第三方的监控系统(如 Prometheus等)

安装Metrics Server

1、下载官方的yaml文件,并修改image为阿里云的地址

安装路径:https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

下载后需要修改components.yaml

原因是我们不能在外网下载metrics镜像

添加参数

修改后:

2、执行安装命令

传输到master上去

运行components.yaml文件

[root@master ~]# kubectl apply -f components.yaml 
serviceaccount/metrics-server created
clusterrole.rbac.authorization.k8s.io/syste
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值