云服务器内容精选
-
HPA工作原理 HPA(Horizontal Pod Autoscaler)是用来控制Pod水平伸缩的控制器,HPA周期性检查Pod的度量数据,计算满足HPA资源所配置的目标数值所需的副本数量,进而调整目标资源(如Deployment)的replicas字段。 想要做到自动弹性伸缩,先决条件就是能感知到各种运行数据,例如集群节点、Pod、容器的CPU、内存使用率等等。而这些数据的监控能力Kubernetes也没有自己实现,而是通过其他项目来扩展Kubernetes的能力,Kubernetes提供Prometheus和Metrics Server插件来实现该能力: Prometheus是一套开源的系统监控报警框架,能够采集丰富的Metrics(度量数据),目前已经基本是Kubernetes的标准监控方案。 Metrics Server是Kubernetes集群范围资源使用数据的聚合器。Metrics Server从kubelet公开的Summary API中采集度量数据,能够收集包括了Pod、Node、容器、Service等主要Kubernetes核心资源的度量数据,且对外提供一套标准的API。 使用HPA(Horizontal Pod Autoscaler)配合Metrics Server可以实现基于CPU和内存的自动弹性伸缩,再配合Prometheus还可以实现自定义监控指标的自动弹性伸缩。 HPA主要流程如图1所示。 图1 HPA流程图
-
约束与限制 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策略后,不支持将已关联的工作负载修改为其他工作负载。
-
前提条件 使用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及之前的集群版本。
-
前提条件 使用HPA需要安装能够提供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策略 您可以查看CustomedHPA策略的规则和最新状态,参照界面中的报错提示有针对性的解决异常事件。 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中单击“策略”,切换至“CustomedHPA策略”页签,单击要查看的CustomedHPA策略前方的。 在展开的区域中,可以看到规则页签,若策略异常,请单击“最新状态”栏中的“详情”,参照展开的详细信息进行定位处理。 您还可以在工作负载详情页中查看已创建的HPA策略: 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中单击“工作负载”,单击工作负载名称查看详情。 在该工作负载详情页的“弹性伸缩”页签下可以看到HPA / 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 扩缩容失败
-
使用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
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格