自主控制探针版本

Kubernetes环境下,ack-onepilot组件实现了ARMS探针自动升级能力,如果您不需要跟随ARMS探针的版本发布自动更新挂载的探针,可以参考本文锁定探针版本,待新版探针在您的测试环境验证通过后,再逐步更新所有应用的探针版本。

方式一(推荐):自主指定探针版本

ack-onepilot组件版本要求

ack-onepilot组件版本≥3.0.17。

您可以在容器服务管理控制台目标集群下的运维管理 > 组件管理页面检查ack-onepilot组件版本。如果版本不满足,请单击升级,更新ack-onepilot组件。

image

在应用YAML文件中添加Label指定固定的探针版本,该方式会覆盖ARMS探针的版本发布更新,保证应用挂载的探针为指定版本,操作步骤如下:

  1. ARMS控制台应用监控 > 探针管理 > 探针版本发布说明页签查看线上支持的探针版本号,建议使用最新发布版本。

    image

  2. 探针在线状态页签查看应用当前挂载的探针版本,以便后续探针版本回滚。

  3. 为应用挂载指定的探针版本号。

    说明

    如果同时使用方式一和方式二/方式三来设置应用挂载的探针版本,即在EDAS上进行应用部署时同时指定label参数,则方式二、方式三的配置优先级高于方式一。

    • 方式一:修改应用的YAML文件,在labels下添加aliyun.com/agent-version指定探针版本号,单击更新后,应用将会自动重启生效。

      该操作生效范围为当前应用,需要固定版本的线上应用都需要修改相应YAML文件。

      image

      如果您的ack-onepilot版本大于等于3.3.0,您还可以使用渐进式升级的方式来自主控制探针版本,可以通过在aliyun.com/agent-version下方添加如下label来开启渐进式升级:

      aliyun.com/enable-progressive-update: 'true'
      说明
      • 渐进式升级可以在您通过Kubernetes重新部署工作负载(Deployment, StatefulSet等)时,只有1~2个实例的探针可以升级到aliyun.com/agent-version指定的版本,其余实例挂载的探针版本保持不变。

      • 如果应用工作负载的副本数小于3,则渐进式升级能力不会生效,当指定探针版本后,所有的副本都不会升级到指定的版本,此时不建议开启渐进式升级能力。

    • 方式二:针对需要部署在EDAS中的K8s集群应用,您可以在部署应用时,在应用高级设置页签的监控及治理配置区域指定探针版本。更多信息,请参见配置监控及微服务治理探针版本

      说明

      如需调整可选的探针版本,请联系EDAS技术支持

      image

    • 方式三:针对需要使用EDASAPI(InsertK8sApplicationDeployK8sApplication接口)创建或部署的K8s集群应用,您可以通过CustomAgentVersion参数指定探针版本。具体操作,请参见DeployK8sApplication - 部署K8s应用

  4. 在测试环境使用测试应用验证指定探针版本生效后,可逐步更新其他应用的探针版本。

    若测试新版本探针功能异常,您可以重复步骤3,恢复应用的探针版本为原版本。

方式二:联系技术支持指定探针版本

如果ack-onepilot组件版本小于3.0.17,或者手动修改YAML方式操作量较大,您可以使用线上版本锁定的方式,将旧的、即将过支持周期的探针版本升级到最新的正式版本。

  • 选择测试环境需要升级验证的测试应用,请联系ARMS技术支持,将线上锁定的探针版本更新为最新版本的探针,配置完成后重启应用进行测试验证。

  • 在测试环境中充分验证通过后,请联系ARMS技术支持,逐步分批提供需要进行升级版本的集群,分批将锁定的探针更新为最新的正式稳定版本,待线上版本生效后,分批重启应用完成升级。