1. 主页
  2. 文档
  3. HCaaS操作指南
  4. 弹性伸缩

弹性伸缩

弹性伸缩(HPA)是 Kubernetes 的一项功能,可以对您的应用进行自动扩容和自动缩容。你除了可以根据应用的 CPU 和内存使用量自动伸缩 Pod 外,还可以使用“自定义指标”进行自动伸缩。我们不建议你直接部署HPA,结合工作负载部署HPA详见部署工作负载;结合工作负载方式通过添加容器部署HPA详见添加容器

弹性伸缩的好处

HPA 将自动缩放正在运行的 Pod(Deployment, Statefulset…) 的数量,以实现最高效率。HPA 中影响 Pod 数量的因素包括:

  • 用户定义的允许运行的 Pod 的最小和最大数量。
  • 资源指标中报告的观察到的 CPU 或内存使用情况。
  • 第三方指标应用程序(例如 Prometheus)提供的自定义指标。
  • HPA 通过释放因过多的 Pod 而浪费的硬件资源和按照应用需要的性能,自动提高或降低 Pod 数量,来改善你的服务。

创建一个HPA

  1. 在左侧菜单导航栏单击弹性伸缩,在弹性伸缩列表页单击添加弹性伸缩。
  2. 输入HPA的名称。
  3. 为HPA选择一个命名空间。
  4. 选择工作负载作为 HPA 的扩展目标。
  5. 为 HPA 指定最小副本数和最大副本数。
  6. 配置 HPA 的指标。HPA指标类型包含资源、Pods、对象和External四种,选择不同的指标类型,对应不同的指标配置项:
    • 资源: HPA以使用资源进行弹性伸缩,您可以选择内存或 CPU 使用率作为度量标准,这将触发 HPA 弹性扩缩容。在数量字段中,输入将触发 HPA 扩缩容机制的工作负载内存或 CPU 使用率的百分比
      注意:在所选部署的工作负载中必须设置CPU或内存保留。 否则HPA将无法根据CPU或内存的利用率计算副本数
    • Pods:为了使用弹性伸缩的自定义指标,你必须部署类似prometheus adapter的自定义指标服务
    • 对象:为了使用弹性伸缩的自定义指标,你必须部署类似prometheus adapter的自定义指标服务
    • External:在所选择的deployment中CPU预留必须设置,否则弹性伸缩不能计算基于CPU利用率的副本数量
  7. 单击创建HPA。

获取HPA指标和状态

  1. 在左侧菜单栏中点击弹性伸缩,进入弹性伸缩列表页。
  2. 单击 HPA 的名称。将会进入 HPA 详细信息页面。

这篇文章对您有用吗? 1

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注