kubernetes——HPA(Horizontal Pod Autoscaler水平自动缩放控制器)实例

本文介绍了如何在Kubernetes中使用HPA(Horizontal Pod Autoscaler)进行水平自动缩放,重点关注根据CPU利用率进行伸缩的步骤。首先,通过运行php-apache服务器并创建HPA资源,然后在负载增加时自动调整Pod数量,以保持平均CPU利用率在目标值附近。HPA的算法包括收集Pod的CPU使用情况,对比阈值,以及定期评估是否需要扩容或缩容。
摘要由CSDN通过智能技术生成


官网参考:https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/

Horizontal Pod Autoscaler根据观察到的CPU使用率(或使用自定义指标支持,基于某些其他应用程序提供的指标)自动缩放复制控制器,部署,副本集或状态集中的pod数量。 请注意,水平窗格自动缩放不适用于无法缩放的对象,例如DaemonSets。
Horizontal Pod Autoscaler被实现为Kubernetes API资源和控制器。 该资源确定控制器的行为。 控制器会定期调整复制控制器或部署中副本的数量,以使观察到的平均CPU利用率与用户指定的目标相匹配。

在这里插入图片描述

前提:示例需要一个1.2或者更高版本的可运行的 Kubernetes 集群以及 kubectl。metrics-server 也需要部署到集群中,它可以通过 resource metrics API 对外提供度量数据,Horizontal Pod Autoscaler 正是根据此 API 来获取度量数据

1.根据CPU进行HPA伸缩过程

1.1 运行 php-apache 服务器并暴露服务

kubeadm@server1 ~]$ mkdir hpa
[kubeadm@server1 ~]$ cd hpa/
[kubeadm@server1 hpa]$ ls
[kubeadm@server1 hpa]$ vim php-apache.yml 
[kubeadm@server1 hpa]$ kubectl apply -f php-apache.yml 
deployment.apps/php-apache configured
service/php-apache unchanged
[kubeadm@server1 hpa]$ kubectl get pod
NAME                          READY   STATUS    RESTARTS   AGE
php-apache-59b89c65c6-9579l   1/1     Running   0          2m12s

[kubeadm@server1 hpa]$ cat php-apache.yml 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值