文档

使用YAML配置无损上下线

更新时间:

对于任何一个线上应用来说,发布、扩容、缩容、重启等操作不可避免。MSE支持无损上下线方案,为应用启动和下线的多个阶段提供相应的保护能力,例如服务预热、服务延迟注册等。本文介绍如何通过YAML方式配置无损上线。

步骤一:开通权限

找到ACK集群角色(包含KubernetesWorkerRole字样),然后授予ACK集群请求MSE上线接口的权限。具体操作,请参见为Worker RAM角色授予权限策略

创建自定义权限策略时,您需要修改策略内容。在创建权限策略页面,单击脚本编辑页签,将以下内容添加到策略内容。

        {
            "Action": [
                "mse:ModifyLosslessRule"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }

步骤二:配置无损上下线变量

配置无损上线变量前,将ACK微服务应用接入MSE治理中心。具体操作,请参见ACK微服务应用接入MSE治理中心

您可以参照下文,配置字段信息。具体操作,请参见配置无损上线

  • 字段方式位置。

    spec > template > metadata > labels

  • 字段含义说明。

    字段

    含义

    默认值

    mse.lossless.warmupTime

    预热时长,单位为秒。

    2

    mse.lossless.funcType

    预热曲线预热过程QPS所呈现曲线形状,如2表示曲线形状呈2次曲线形状。

    2

    mse.lossless.delayTime

    延迟注册时间,单位为秒。相较于正常状态,应用启动将延迟x(x指所设的值)秒后再向注册中心注册应用或服务。

    30

    mse.lossless.enable

    是否开启规则。

    • true:开启。

    • false:关闭。

    false

    mse.lossless.aligned

    就绪检查关联服务注册,即打开后就绪检查会在当前节点服务注册完成后通过。

    true

    mse.lossless.related

    就绪检查关联服务预热,即打开后就绪检查会在当前节点服务预热完成后通过。

    false

    mse.lossless.detail

    是否显示无损上下线处理明细。

    false

    mse.lossless.notice

    是否开启服务提供者主动通知。

    false

  • 字段配置样例。

            mse.lossless.aligned: 'false'
            mse.lossless.delayTime: '30'
            mse.lossless.enable: 'true'
            mse.lossless.funcType: '2'
            mse.lossless.related: 'false'
            mse.lossless.warmupTime: '60'

结果验证

  1. 登录MSE治理中心控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择治理中心 > 应用治理

  3. 应用列表页面,单击目标应用的资源卡片。

  4. 在左侧导航栏,单击流量治理,在无损上下线页签查看无损上线规则配置已变更,同时对应的无损上线功能已生效。

  • 本页导读 (1)
文档反馈