云服务器内容精选

  • 前提条件 使用CustomedHPA策略必须安装CCE容器弹性引擎,若该插件版本低于1.2.11,则必须安装prometheus插件;若版本大于或等于1.2.11,则需要安装能够提供Metrics API的插件,您可根据集群版本和实际需求选择其中之一: Kubernetes Metrics Server:提供基础资源使用指标,例如容器CPU和内存使用率。所有集群版本均可安装。 云原生监控插件:该插件支持v1.17及以后的集群版本。 根据基础资源指标进行弹性伸缩:需将Prometheus注册为Metrics API的服务,详见通过Metrics API提供资源指标。 根据自定义指标进行弹性伸缩:需要将自定义指标聚合到Kubernetes API Server,详情请参见使用自定义指标创建HPA策略。 Prometheus(停止维护):需将Prometheus注册为Metrics API的服务,详见通过Metrics API提供资源指标。该插件仅支持v1.21及之前的集群版本。
  • 约束与限制 CustomedHPA策略仅支持1.15及以上版本的集群。 1.19.10以下版本的集群中,如果使用HPA策略对挂载了EVS卷的负载进行扩容,当新Pod被调度到另一个节点时,会导致之前Pod不能正常读写。 1.19.10及以上版本集群中,如果使用HPA策略对挂载了EVS卷的负载进行扩容,新Pod会因为无法挂载云硬盘导致无法成功启动。 CCE容器弹性引擎插件的资源使用量主要受集群中总容器数量和伸缩策略数量影响,通常场景下建议每5000容器配置CPU 500m, 内存1000Mi资源,每1000伸缩策略CPU 100m,内存500Mi。 若cce-hpa-controller插件版本低于1.2.11,不支持使用云原生监控插件插件提供Metrics API来实现工作负载弹性伸缩。 创建CustomedHPA策略后,不支持将已关联的工作负载修改为其他工作负载。
  • 查看HPA策略 您可以查看HPA策略的规则、状态和事件,参照界面中的报错提示有针对性的解决异常事件。 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中单击“策略”,切换至“HPA策略”页签,单击要查看的HPA策略前方的。 在展开的区域中,可以看到规则、状态页签,单击策略操作区域的“事件”,可以看到事件页签。若策略异常,请参照界面中的报错提示进行定位处理。 您还可以在工作负载详情页中查看已创建的HPA策略: 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中单击“工作负载”,单击工作负载名称查看详情。 在该工作负载详情页的“弹性伸缩”页签下可以看到HPA / CustomedHPA策略,您在“策略”页面配置的伸缩策略也会在这里显示。 表1 事件类型及名称 事件类型 事件名称 描述 正常 SuccessfulRescale 扩缩容成功 异常 InvalidTargetRange 无效的TargetRange InvalidSelector 无效选择器 FailedGetObjectMetric 获取对象失败数 FailedGetPodsMetric 获取Pod列表失败指标 FailedGetResourceMetric 获取资源失败数 FailedGetExternalMetric 获取外部指标失败 InvalidMetricSourceType 无效的指标来源类型 FailedConvertHPA 转换HPA失败 FailedGetScale 获取比例尺失败 FailedComputeMetricsReplicas 计算指标副本数失败 FailedGetScaleWindow 获取ScaleWindow失败 FailedRescale 扩缩容失败
  • 查看CustomedHPA策略 您可以查看CustomedHPA策略的规则和最新状态,参照界面中的报错提示有针对性的解决异常事件。 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中单击“策略”,切换至“CustomedHPA策略”页签,单击要查看的CustomedHPA策略前方的。 在展开的区域中,可以看到规则页签,若策略异常,请单击“最新状态”栏中的“详情”,参照展开的详细信息进行定位处理。 您还可以在工作负载详情页中查看已创建的HPA策略: 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中单击“工作负载”,单击工作负载名称查看详情。 在该工作负载详情页的“弹性伸缩”页签下可以看到HPA / CustomedHPA策略,您在“策略”页面配置的伸缩策略也会在这里显示。
  • 前提条件 使用HPA需要安装能够提供Metrics API的插件,您可根据集群版本和实际需求选择其中之一: Kubernetes Metrics Server:提供基础资源使用指标,例如容器CPU和内存使用率。所有集群版本均可安装。 云原生监控插件:该插件支持v1.17及以后的集群版本。 根据基础资源指标进行弹性伸缩:需将Prometheus注册为Metrics API的服务,详见通过Metrics API提供资源指标。 根据自定义指标进行弹性伸缩:需要将自定义指标聚合到Kubernetes API Server,详情请参见将自定义指标聚合到Kubernetes API Server。 Prometheus(停止维护):需将Prometheus注册为Metrics API的服务,详见通过Metrics API提供资源指标。该插件仅支持v1.21及之前的集群版本。
  • 使用CronHPA直接调整Deployment实例数量 CronHPA还可以单独调整关联Deployment,定时调整Deployment的实例数,使用方法如下。 apiVersion: autoscaling.cce.io/v2alpha1kind: CronHorizontalPodAutoscalermetadata: name: ccetest namespace: defaultspec: scaleTargetRef: # 关联Deployment apiVersion: apps/v1 kind: Deployment name: nginx rules: - ruleName: "scale-down" schedule: "08 * * * *" # 指定任务运行时间与周期,参数格式请参见Cron,例如0 * * * * 或@hourly。 targetReplicas: 1 disable: false - ruleName: "scale-up" schedule: "05 * * * *" targetReplicas: 3 disable: false