目录
参考文章:(97条消息) Kubernetes-自动扩展器HPA、VPA、CA_hpa vpa_SRE运维充电站的博客-优快云博客
官方网址:autoscaler/vertical-pod-autoscaler at master · kubernetes/autoscaler · GitHub
官方网址:autoscaler/vertical-pod-autoscaler at master · kubernetes/autoscaler · GitHub
参考文章:(117条消息) k8s - 容器类型 - logrotate日志轮转工具 - HPA的部署 - Dashboard安装部署_k8s logrotate_Wangsh@的博客-优快云博客
4.1、导出hpa-example镜像,并传到每一台node节点服务器上去
4.2、然后删除pod(删除php-apache.yaml),又重启pod
参考文章:(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 中公开它们, 以供Horizontal 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

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

被折叠的 条评论
为什么被折叠?



