云服务器内容精选
-
为什么需要控制扩缩速率 HPA controller默认的扩缩容总原则是:快速扩容,低速缩容。然而,若仅依靠配置稳定窗口时长,在窗口时长过后即失去了对扩缩容速率的控制能力,无法真正实现对扩缩容速率的准确控制。您可以通过配置负载伸缩策略的YAML文件中spec的behavior结构,来更准确灵活地控制FederatedHPA的自动扩缩速度。该结构支持为每个FederatedHPA策略独立配置扩缩容速率,以及为扩容与缩容配置不同的速率。
-
创建FederatedHPA策略 控制台创建 登录U CS 控制台,在左侧导航栏中选择“容器舰队”。 单击已开通集群联邦的容器舰队名称,进入容器舰队详情页面。 在左侧导航栏选择“负载伸缩”,在“指标伸缩策略”页签下,单击右上角的“创建指标伸缩策略”。 配置FederatedHPA策略参数。 表1 FederatedHPA策略参数配置 参数 参数说明 策略名称 FederatedHPA策略的名称。输入长度范围为4-63个字符。 命名空间 请选择需要自动扩缩的工作负载所在命名空间的名称。也可新建命名空间,具体操作请参见命名空间。 生效工作负载 请选择需要设置自动扩缩的工作负载的名称。也可新建工作负载,具体操作请参见工作负载。 实例范围 触发策略时,工作负载内Pod数量所能达到的最大值与最小值。 最小值:请输入1-299之间的正整数。 最大值:请输入1-1500之间的正整数,且填写值需大于实例范围最小值。 稳定窗口时长 稳定窗口时长内指标数据持续达到期待值,才会进行扩缩。默认扩容稳定窗口时长为0秒,缩容稳定窗口时长为300秒。稳定窗口时长的详细信息请参见如何保证负载伸缩的稳定性?。 扩容:请输入0-3600之间的正整数,单位为秒。 缩容:请输入0-3600之间的正整数,单位为秒。 系统规则 若您需要基于系统指标对工作负载进行扩缩,则需配置该规则。 指标:可选择“CPU利用率”或“内存利用率”。 期待值:指标数据达到期待值时,触发扩缩。 自定义规则 若您需要基于自定义指标对工作负载进行扩缩,则需配置该规则。 自定义指标名称:在下拉框中选择自定义指标的名称。 指标来源:在下拉框中选择自定义指标所描述的对象类型,目前仅支持“Pod”。 期待值:指标数据达到期待值时,触发扩缩。 注意: 自定义规则仅支持1.19及更高版本的集群创建。 使用自定义规则时,集群中需要安装支持采集自定义指标的插件,且工作负载需正常上报并采集自定义指标,详情请参见安装指标采集插件。 参数配置完成后,单击右下角“创建”,即可跳转指标伸缩策略列表查看策略详情,完成FederatedHPA策略创建。 命令行创建 使用kubectl连接集群联邦,具体操作请参见使用kubectl连接集群联邦。 创建并编辑fhpa.yaml文件,文件内容定义如下所示,关键参数定义请参见表2。 vi fhpa.yaml 本示例创建的FederatedHPA策略名称为hpa-example-hpa,作用于名称为hpa-example的工作负载,稳定窗口时长为扩容0秒、缩容300秒,最大Pod数为100、最小Pod数为2,包含两条系统指标规则(名称为“memory”和“cpu”)。其中,memory规则中内存利用率的期望值为50%,cpu规则中CPU利用率的期望值为60%。 apiVersion: autoscaling.karmada.io/v1alpha1 kind: FederatedHPAmetadata: name: hpa-example-hpa # FederatedHPA策略名称 namespace: default # 工作负载所在命名空间名称 spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: hpa-example # 工作负载名称 behavior: scaleDown: stabilizationWindowSeconds: 300 # 缩容的稳定窗口时长为300秒 scaleUp: stabilizationWindowSeconds: 0 # 扩容的稳定窗口时长为0秒 minReplicas: 2 # 最小Pod数为2 maxReplicas: 100 # 最大Pod数为100 metrics: - type: Resource resource: name: memory # 第一条规则名称 target: type: Utilization # 指标类型为利用率 averageUtilization: 50 # 期望的平均利用率 - type: Resource resource: name: cpu # 第二条规则名称 target: type: Utilization # 指标类型为利用率 averageUtilization: 60 # 期望的平均利用率 表2 关键参数说明 参数 是否必填 参数类型 描述 stabilizationWindowSeconds 否 String 缩容的稳定窗口时长,请输入0-3600之间的正整数,单位为秒,不定义时默认为300秒。 说明: 稳定窗口时长内指标数据持续达到期待值,才会进行扩缩。稳定窗口时长的详细信息请参见如何保证负载伸缩的稳定性?。 stabilizationWindowSeconds 否 String 扩容的稳定窗口时长,请输入0-3600之间的正整数,单位为秒,不定义时默认为0秒。 minReplicas 是 String 触发策略时,工作负载内Pod数量所能缩容到的最小值,请输入1-299之间的正整数。 maxReplicas 是 String 触发策略时,工作负载内Pod数量所能扩容到的最大值,请输入1-1500之间的正整数,且输入值需大于实例范围最小值。 name 是 String 规则名称。基于系统指标进行弹性伸缩时,基于内存利用率的规则名称为memory,基于CPU利用率的规则名称为cpu。 type 是 String 指标类型。 Value:总量 AverageValue:平均量 = 总量 / 当前Pod数 Utilization:利用率 = 平均量 / 申请量 averageUtilization 是 String 指标数据达到期待值时,触发扩缩。 执行如下命令创建FederatedHPA策略。 kubectl apply -f fhpa.yaml 回显如下表明创建成功。 FederatedHPA.autoscaling.karmada.io/hpa-example-hpa created 创建完成后,可以执行如下命令观察负载伸缩的运行效果。 检查工作负载的当前Pod数:kubectl get deployments 查看FederatedHPA策略事件(仅保留最近三条):kubectl describe federatedhpa hpa-example-hpa 可以执行如下命令管理FederatedHPA策略。其中hpa-example-hpa为FederatedHPA策略的名称,实际情况中需修改为自己所创建的策略名称。 获取FederatedHPA策略:kubectl get federatedhpa hpa-example-hpa 更新FederatedHPA策略:kubectl edit federatedhpa hpa-example-hpa 删除FederatedHPA策略:kubectl delete federatedhpa hpa-example-hpa
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格