运维编排场景系列-----批量更新云助手客户端

本文涉及的产品
系统运维管理,不限时长
简介: 应用场景 当云助手客户端未自动更新时,需要人为的手动触发去更新云助手客户端。已知需要更新的实例标签,或已知具体实例,执行模版来自动更新目标实例的客户端。 解决方案 模版功能:1、查找指定的Tags实例,或者指定目标实例。

应用场景

当云助手客户端未自动更新时,需要人为的手动触发去更新云助手客户端。已知需要更新的实例标签,或已知具体实例,执行模版来自动更新目标实例的客户端。

解决方案

模版功能:
1、查找指定的Tags实例,或者指定目标实例。
2、自动升级云助手客户端。

一、打开控制台,找到运维编排
1567601909968_953ef198_2b97_4018_931c_fa7f7b9d3501

二、创建模版
1570779642564_8fd10b82_4cc2_4e68_abac_7e38109f8d98

选择空白模版,并点击选取来创建模版。
1570779920643_6ac9aeac_83ee_4c5b_a7c4_1dd1ccb32a25

模版内容:

FormatVersion: OOS-2019-06-01
Description:
  en: Bulky update cloud assostant agent.
  zh-cn: 批量升级云助手客户端。
  name-en: ACS-ECS-BulkyUpdateCloudAssistantAgent
  name-zh-cn: 批量升级云助手客户端
Parameters:
  targets:
    Type: Json
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
  rateControl:
    Description:
      en: Concurrency ratio of task execution.
      zh-cn: 任务执行的并发比率。
    Type: Json
    AssociationProperty: RateControl
  OOSAssumeRole:
    Description: The RAM role to be assumed by OOS.
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: Views the ECS instances.
      zh-cn: 获取ECS实例。
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: queryInstanceCommandOutput
    Action: 'ACS::ECS::RunCommand'
    Description:
      en: Invokes ECS instance command and gets invocation output.
      zh-cn: 获取ECS实例。
    Properties:
      commandContent:
        'Fn::Join':
          - |+

          - - version=`ls /usr/local/share/aliyun-assist/`
            - 'versions=`echo $version | sed -e ''s/[ ].*//g''`'
            - /usr/local/share/aliyun-assist/${versions}/aliyun_assist_update --check_update -f
            - newVersion=`ls /usr/local/share/aliyun-assist/`
            - 'newVersions=`echo $newVersion | sed -e ''s/[ ].*//g''`'
            - /usr/local/share/aliyun-assist/${newVersions}/aliyun_assist_update -v
      instanceId: '{{ ACS::TaskLoopItem }}'
      commandType: RunShellScript
    Outputs:
      commandOutput:
        Type: String
        ValueSelector: invocationOutput
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.instanceIds }}'
      Outputs:
        invocation:
          AggregateType: Fn::ListJoin
          AggregateField: commandOutput
Outputs:
  tagValue:
    Type: String
    Value: '{{ queryInstanceCommandOutput.invocation }}'

三、创建执行
模版创建成功后,找到创建的模版,来创建执行。
1570772794258_338c5b96_188a_4575_91d6_305158f12dfb

四、输入参数
当执行模版前,需要首先输入参数,根据实际的需要来选择参数,参数输入完毕后点击下一步:确认,如下图所示。
1570772927274_7f0d9724_8e61_4d31_8ad2_8779d045ff02

五、执行模版
当所有的填充内容全部确认无误后,点击创建执行,此时模版开始正式执行。
1567134751663_32fffc3a_7310_4d01_a3b9_d650e730e2fb

六、执行结果
如下所示云助手客户端更新到一个新版本。
1570784396087_8a3ecfb7_209a_4bfc_a646_01fa1a8f8e34


目标实例中的更新后的客户端版本如下所示。
1570785526794_8bfa8958_b8e2_4234_90ca_3f78750b38af

总结

本模版主要的功能是利用模版的方式,来解决手动或者编写大量的脚本来升级云助手客户端。

欢迎使用OOS

OOS客户支持钉钉群:23330931
OOS管理控制台的链接
OOS帮助文档的链接

系列文章

主题文章

阿里云重磅发布云上自动化利器——运维编排OOS

最佳实践

玩转运维编排服务的权限:Assume Role+Pass Role
阿里云运维编排新功能:一键批量克隆ECS

场景系列

运维编排场景系列----更新ECS镜像
运维编排场景系列-----给ECS实例自动打TAG
运维编排场景系列----从实例中拷贝文件到OSS
运维编排场景系列----给实例加到SLS机器组
运维编排场景系列----检测MFA功能状态
运维编排场景系列-----每日统计多Region实例的运行状态
运维编排场景系列-----如何使用jq
运维编排场景系列----分批到机器上运行命令
运维编排场景系列---更新镜像后自动更新伸缩配置镜像
运维编排场景系列---向Linux实例上传文件
运维编排场景系列---运行远端shell脚本
运维编排场景系列---在ECS实例上运行Ansible-playbook
运维编排场景系列----下载JVM堆栈到OSS
运维编排系列场景-----将实例的固定公网IP转换为其它新EIP
运维编排场景系列----自动定时升级临时带宽

相关文章
|
2月前
|
运维 自然语言处理 开发者
作为一名运维人员,使用通义灵码个人版处理日常工作中的代码相关任务,极大地提升了我的工作效率。以下是我使用通义灵码的具体实践场景、效果和心得,以及相应的截图。
作为一名运维人员,我使用通义灵码处理日常工作中的代码任务,效率提升了30%。通义灵码帮助我快速理解复杂代码、生成准确的代码注释,并能从自然语言生成代码示例,大幅减少了代码编写和理解的时间。
80 3
|
3月前
|
机器学习/深度学习 人工智能 运维
|
4月前
|
存储 边缘计算 运维
边缘计算问题之OpenYurt 对边缘计算场景中的运维难题如何解决
边缘计算问题之OpenYurt 对边缘计算场景中的运维难题如何解决
48 1
|
4月前
|
运维 监控 测试技术
5个常见运维场景,用这几个Python脚本就够了!
5个常见运维场景,用这几个Python脚本就够了!
|
5月前
|
运维 监控 容灾
智能化运维场景分析
【7月更文挑战第12天】智能运维目标是解放运维人员,提高效率,确保业务连续性和优化资源利用。
|
7月前
|
运维 算法 物联网
五大智能运维场景
【5月更文挑战第3天】智能运维场景分5类:异常检测、根因诊断、故障自愈、事件预警、效能优化。
|
7月前
|
弹性计算 运维 应用服务中间件
带你读《云上自动化运维宝典》——ECS多场景迁移上云最佳实践(1)
带你读《云上自动化运维宝典》——ECS多场景迁移上云最佳实践(1)
292 1
|
7月前
|
弹性计算 运维 应用服务中间件
带你读《云上自动化运维宝典》——ECS多场景迁移上云最佳实践(2)
带你读《云上自动化运维宝典》——ECS多场景迁移上云最佳实践(2)
259 1
|
7月前
|
弹性计算 运维 Linux
带你读《云上自动化运维宝典》——ECS多场景迁移上云最佳实践(3)
带你读《云上自动化运维宝典》——ECS多场景迁移上云最佳实践(3)
257 1
|
NoSQL 测试技术 API
从程序员到架构师开发运维场景实战篇:一人一套测试环境
一人一套测试环境 本篇开始讲第16次架构经历:一人一套测试环境。同样,先介绍业务场景。 业务场景:测试环境何时能释放出来使用 当时,公司的基础设施使用的是虚拟机,而且还未迁移到容器。

热门文章

最新文章