Kubernetes HPA自动扩缩容

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

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

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

使用HPA前提是需要安装metrics server来获取资源指标

1.1 基于CPU资源HPA

首先启动一个 Deployment 用 hpa-example 镜像运行一个容器

[root@k8s-master01 hpa]# cat hpa-example.yamlapiVersion: apps/v1
kind: Deployment
metadata:
  name: php-apache
spec:
  selector:
    matchLabels:
      run: php-apache
  replicas: 1
  template:
    metadata:
      labels:
        run: php-apache
    spec:
      containers:
      - name: php-apache
        image: hub.kce.ksyun.com/leoxinyuan/hpa-example:latest
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: 500m
          requests:
            cpu: 200m
---
apiVersion: v1
kind: Service
metadata:
  name: php-apache
  labels:
    run: php-apache
spec:
  ports:
  - port: 80
  selector:
    run: php-apache


[root@k8s-master01 hpa]# kubectl apply -f hpa-example.yaml deployment.apps/php-apache createdservice/php-apache created
[root@k8s-master01 hpa]# kubectl get po | grep phpphp-apache-6585f85cff-vfmgr               1/1     Running            0          3m18s

1.1.1 创建HPA

  1. 使用命令创建

使用 kubectl 创建自动扩缩器。kubectl autoscale 子命令是 kubectl 的一部分。

HPA 控制器将根据设定的CPU 利用率

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值