您正在查看 KubeSphere 版本的文档:v3.0.0

KubeSphere v3.0.0 版本的文档已不再维护。您现在看到的版本来自于一份静态的快照。如需查阅最新文档,请点击 最新版本

Pod 弹性伸缩

本文档描述了如何在 KubeSphere 上配置 Pod 弹性伸缩 (HPA)。

HPA 功能会自动调整 Pod 的数量,将 Pod 的平均资源使用(CPU 和内存)保持在预设值附近。有关 HPA 功能的详细情况,请参见 Kubernetes 官方文档

本文档使用基于 CPU 使用率的 HPA 作为示例,基于内存使用量的 HPA 操作与其相似。

准备工作

创建服务

  1. project-regular 身份登录 KubeSphere 的 Web 控制台,然后访问您的项目。

  2. 在左侧导航栏中选择应用负载下的服务,然后点击右侧的创建

    create-service

  3. 创建服务对话框中,点击无状态服务

    stateless-service

  4. 设置服务名称(例如,hpa),然后点击下一步

    service-name

  5. 点击添加容器镜像,将镜像设置为 mirrorgooglecontainers/hpa-example 并点击使用默认端口

    add-container-image

  6. 为每个容器设置 CPU 请求(例如,0.15 core),点击 ,然后点击下一步

    备注

    • 若要使用基于 CPU 使用率的 HPA,就必须为每个容器设置 CPU 请求,即为每个容器预留的最低 CPU 资源(有关详细信息,请参见 Kubernetes 官方文档)。HPA 功能会将 Pod 平均 CPU 使用率与 Pod 平均 CPU 请求的目标比率进行比较。
    • 若要使用基于内存使用量的 HPA,则不需要配置内存请求。

    cpu-request

  7. 点击挂载存储选项卡上的下一步,然后点击高级设置选项卡上的创建

配置 HPA

  1. 左侧导航栏上选择工作负载中的部署,然后点击右侧的 HPA 部署(例如,hpa-v1)。

    hpa-deployment

  2. 点击更多操作,从下拉菜单中选择弹性伸缩

    horizontal-pod-autoscaling

  3. 弹性伸缩对话框中,配置 HPA 参数,然后点击确定

    • CPU 目标使用率:Pod 平均 CPU 请求的目标比率。
    • 内存目标使用量:以 MiB 为单位的 Pod 平均内存目标使用量。
    • 最小副本数:Pod 的最小数量。
    • 最大副本数:Pod 的最大数量。

    在示例中,CPU 目标使用率设置为 60最小副本数设置为 1最大副本数设置为 10

    备注

    当 Pod 的数量达到最大值时,请确保集群可以为所有 Pod 提供足够的资源。否则,一些 Pod 将创建失败。

    hpa-parameters

验证 HPA

本节使用将请求发送到 HPA 服务的部署,以验证 HPA 是否会自动调整 Pod 的数量来满足资源使用目标。

创建负载生成器部署

  1. 在左侧导航栏中选择应用负载中的工作负载,然后点击右侧的创建

    create-deployment

  2. 创建部署对话框中,设置部署名称(例如,load-generator),然后点击下一步

    deployment-name

  3. 点击添加容器镜像,将镜像设置为 busybox

    busybox

  4. 在对话框中向下滚动,选择启动命令,然后将运行命令设置为 sh,-c,将参数设置为 while true; do wget -q -O- http://<Target Service>.<Target project>.svc.cluster.local; done(例如,while true; do wget -q -O- http://hpa.demo-project.svc.cluster.local; done)。

    start-command

  5. 点击 ,然后点击下一步

  6. 点击挂载存储选项卡上的下一步,然后点击高级设置选项卡上的创建

查看 HPA 部署状态

  1. 负载生成器部署创建好后,在左侧导航栏中选择应用负载下的工作负载,然后点击右侧的 HPA 部署(例如,hpa-v1)。

    Pod 的数量会自动增加以满足资源使用目标。

    target-cpu-utilization

    pods-increase

  2. 在左侧导航栏选择应用负载中的工作负载,点击负载生成器部署(例如,load-generator-v1)右侧的三个点,从下拉菜单中选择删除。负载生成器部署删除后,再次检查 HPA 部署的状态。

    Pod 的数量会减少到最小值。

    pods-decrease

备注

系统可能需要一些时间来调整 Pod 的数量以及收集数据。

编辑 HPA 配置

您可以重复配置 HPA 中的步骤来编辑 HPA 配置。

取消 HPA

  1. 在左侧导航栏选择应用负载中的工作负载,点击右侧的 HPA 部署(例如,hpa-v1)。

  2. 点击弹性伸缩右侧的三个点,从下拉菜单中选择取消

    cancel-hpa