您在EDAS K8s环境创建应用时,EDAS提供了默认的HPA(Horizontal Pod Autoscaling)配置,您可以选择是否开启默认的弹性伸缩配置。本文介绍在EDAS控制台如何开启默认的弹性伸缩配置。

背景信息

您在EDAS K8s环境创建应用时如果没有设置CPU的资源预留和限制,则后续不能开启默认的弹性伸缩配置;如果设置了CPU的资源预留和限制,则默认开启弹性伸缩配置,支持手动关闭弹性伸缩配置。

如果您在创建应用时设置了CPU的资源预留和限制并允许了默认开启的弹性伸缩配置,则代表开启HPA(Horizontal Pod Autoscaling)配置,其配置内容为CPU或内存平均使用量的80%触发HPA,最大副本数为设置的Pod数的2倍,最小副本数为设置的Pod数。

说明
  • 如果应用配置了Service,SLB,在发生弹性伸缩时,EDAS会自动将扩容的应用实例添加到后端服务器列表,并将缩容的实例从后端服务器列表中移除。
  • 如果应用配置了持久化存储,在发生弹性伸缩时,EDAS会自动将扩容的应用实例与配置的持久化存储进行关联。

开启默认的弹性伸缩配置

  1. 登录EDAS控制台
  2. 在左侧导航栏中单击应用列表,在顶部菜单栏选择地域并在页面上方选择微服务空间,然后在应用列表页面左上角单击创建应用
  3. 应用基本信息页签选择集群类型和应用运行环境,然后在页面最下方单击下一步
    参数 描述
    集群类型 选择Kubernetes集群
    应用运行环境 根据选择的托管应用类型选择应用运行环境。
    • Java:
      • 自定义:适用于在K8s集群中使用自定义的镜像部署应用。
      • Java:支持通用的JAR包部署,适用于Dubbo和Spring Boot应用。在选择后可更改Java环境。
      • Tomcat:支持通用的WAR包部署,适用于Dubbo和Spring应用。在选择后可更改Java环境和容器版本。
      • EDAS-Container(HSF):适用于使用WAR或者FatJar部署HSF应用。在选择后可更改Java环境、Pandora版本和Ali-Tomcat版本。
    • PHP:适用于运行在Apache HTTP Server中的PHP应用程序。
    • 多语言Node.js、C++、Go...:适用于在K8s集群中使用自定义的镜像部署应用。此处未介绍多语言应用的配置流程,如需了解更多信息,请参见使用自定义镜像部署多语言应用至K8s集群
  4. 应用配置页签中设置应用的环境信息、基本信息、部署方式和资源参数,设置完成后单击下一步
    如果需要开启默认的弹性伸缩配置,此处必须设置CPU的资源预留和限制,否则后续无法开启默认的弹性伸缩配置。应用配置-必须设置CPU的资源限制和预留
  5. 应用高级设置页签展开伸缩配置,并根据您的业务需求选择是否开启默认的弹性伸缩配置。
    如果您需要自动配置HPA,请开启开通容器组水平伸缩功能是否开启默认的弹性伸缩配置
    参数 描述
    指标 请根据需要选择CPU使用率内存使用率
    触发条件 弹性伸缩的触发条件,默认为80%
    最大副本数 可扩容的Pod数量上限,默认为设置的Pod数的两倍。
    最小副本数 可缩容的Pod数量下限,默认为设置的Pod数。
  6. 完成设置后单击创建应用
  7. 应用创建完成页签确认应用基本信息应用配置应用高级设置等信息,确认完毕后单击确定创建应用
    在应用应用总览页面顶部提示信息中单击查看详情,可在变更记录页面查看变更流程。应用部署需要几分钟,请您耐心等待。变更完成后在应用总览页面的基本信息区域查看实例的运行状态,如果显示为Pod运行中,说明应用部署成功。

查看配置的默认弹性伸缩

  1. 在应用详情页面的左侧导航栏选择应用设置 > 弹性伸缩
  2. 查看配置的默认弹性伸缩。
    配置的默认弹性伸缩在配置的默认弹性伸缩页面的右上角,您可以根据需要选择编辑、启动、停止和删除默认的弹性伸缩,以及查看弹性伸缩记录的事件详情。