运维编排场景系列---在ECS实例上运行Ansible-playbook

本文涉及的产品
系统运维管理,不限时长
简介: Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由Paramiko和PyYAML两个关键模块构建,可用于自动化部署应用、配置、编排task(持续交付、无宕机更新等)。本文介绍通过OOS在实例中运行指定OSS中的PlayBook。

场景介绍

Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由Paramiko和PyYAML两个关键模块构建,可用于自动化部署应用、配置、编排task(持续交付、无宕机更新等)。本文介绍通过OOS在实例中运行指定OSS中的PlayBook。

模板介绍

  1. 模板内容:
FormatVersion: OOS-2019-06-01
Description: Use this template to run Ansible playbooks on ECS Instance.
Parameters:
  instanceId:
    Description: The ID of ECS Instance.
    Type: String
    MaxLength: 30
    MinLength: 1
  playbookurl:
    Type: String
    Description: "You must specify a URL where the playbook is stored.You can specify the URL in the following formats: http://example.com/playbook.yml"
    AllowedPattern: ^\s*$|^(http|https)://[^']*$
  extravars:
    Type: String
    Description: 'Additional variables to pass to Ansible at runtime. Enter a space separated list of key/value
      pairs. For example: color=red flavor=lime'
    Default: SSM=True
    AllowedPattern: ^$|^\w+\=\S+(\s\w+\=\S+)*$
  check:
    Type: String
    Description: 'Use the check parameter to perform a dry run of the Ansible execution.'
    AllowedValues:
    - 'True'
    - 'False'
    Default: 'False'
  OOSAssumeRole:
    Description: The RAM role to be assumed by OOS.
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: runCommand
  Action: ACS::ECS::RunCommand
  Properties:
    commandContent:
      Fn::Join:
        - ' '
        - - ansible --version;
          - if [ $? -ne 0 ]; then
          -   echo "Ansible is not installed. Please install Ansible and rerun the command" >&2;
          -   exit 1;
          - fi;
          - if [[ {{playbookurl}} == http* ]]; then
          -   wget {{playbookurl}} -O playbook.yml;
          -   if [ $? -ne 0 ]; then
          -     echo "There was a problem downloading the playbook. Make sure the URL is correct and that the playbook exists.">&2;
          -     exit 1;
          -   fi;
          - fi;
          - if  [[ {{check}} == True ]] ; then
          -     ansible-playbook --check -c local -e {{extravars}} playbook.yml;
          - else
          -     ansible-playbook -c local -e {{extravars}} playbook.yml;
          - fi;
    instanceId: '{{ instanceId }}'
    commandType: RunShellScript
  Outputs:
    commandOutput:
      Type: String
      ValueSelector: invocationOutput
Outputs:
  commandOutput:
    Type: String
    Value: '{{ runCommand.commandOutput }}'

2.模板参数:

  • instanceId:实例ID
  • playbookurl:playbook下载路径
  • extravars:运行剧本的参数
  • check:检测模式

3.剧本介绍:
  在oss中准备一个需要运行的剧本:
a1

  本文所用剧本内容如下:

---
- hosts: local
  connection: local
  become: yes
  become_user: root
  tasks:
   - name: Install Nginx
     yum:
       name: nginx
       state: installed
       update_cache: true

4.实例介绍:
准备一台已安装Ansible实例,Ansible的hosts配置如下:
a2

操作指引

  1. 首先登录到运维编排控制台 。
  2. 单击 自定义模版 ,单击 创建模版 。
  3. 单击 YAML 。


 将上面提供的YAML格式模版内容粘贴到编辑框内。
a3

  1. 单击 校验模版。 
  • 若模板内容已通过校验,继续下一步。
  • 若模板内容校验失败,请根据提示内容调整模版。
  1. 填写 模版名称。


  本文此处填写"test_ansible_run_play_book" 。
a4

  1. 单击 创建模版 。


      在自定义模版列表中可通过模版名称快速找到该模版。

  1. 单击 创建执行 。
  2. 风险确认模式 选择 客户了解风险,无需确认 。


1568259457317_9be339ca_b5d0_4b1d_8ced_41c5dd0480c6

  1. 单击 下一步,设置参数 。

1568259659815_be0b521f_a4b1_4953_86e5_31a7eac06fe0

  1. 单击 下一步,确认创建 ,单击 创建执行 。
  2. 执行成功后单击详情,查看执行结果。

1568259799961_7d2d2d9e_eb8b_4531_a8e0_eb73dce1097d

12.进入远程链接,管理终端,查看playbook运行结果:
1568259990522_f375e62d_ca0d_4ba6_9310_45f7db5045d6

系列文章

主题文章

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

最佳实践

玩转运维编排服务的权限:Assume Role+Pass Role

场景系列

运维编排场景系列----更新ECS镜像
运维编排场景系列-----给ECS实例自动打TAG
运维编排场景系列----从实例中拷贝文件到OSS
运维编排场景系列----给实例加到SLS机器组
运维编排场景系列----检测MFA功能状态
阿里云运维编排新功能:一键批量克隆ECS
运维编排场景系列-----每日统计多Region实例的运行状态
运维编排场景系列-----如何使用jq
运维编排场景系列----分批到机器上运行命令

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
弹性计算 关系型数据库 MySQL
阿里云服务器搭建网站教程:经济型e实例2核2G快速搭建网站图文教程参考
目前在阿里云的活动中,轻量应用服务器2核2G3M带宽只要68元1年,2核4G4M带宽只要298元1年。云服务器ECS经济型e实例2核2G 3M固定带宽,价格只要99元/1年,新老用户都可购买,企业用户购买2核4G5M带宽199元一年,为用户提供长期权益。这些都是个人和普通企业用户搭建网站使用较多的云服务器,本文为大家展示使用经济型e实例2核2G3M带宽快速搭建网站的相关教程,以供参考。
105 18
|
1月前
|
存储 弹性计算 数据挖掘
阿里云服务器ECS经济型e实例与通用算力u1区别、特性优势、使用场景及租赁费用对比
阿里云ECS云服务器的经济型e实例和通用算力型u1实例各有特点。e实例适合个人开发者和小微企业,适用于中小型网站、开发测试和轻量级应用,性价比高。u1实例则更适合中小企业,提供更高的性能和稳定性,适用于企业级应用、数据分析和中小型数据库。同等配置下,u1实例在计算、存储和网络性能上优于e实例。
205 86
|
3天前
|
存储 安全 数据安全/隐私保护
阿里云服务器五代、六代、七代、八代实例简介及性能提升介绍
随着技术的不断进步,到2025年,阿里云服务器实例也经历了多代升级,从五代实例到最新的八代实例,每一代都在性能、稳定性、能效比等方面取得了显著提升。有的用户由于是初次接触阿里云服务器,所以不是很清楚阿里云服务器五代、六代、七代、八代实例有哪些,它们各自在云服务器性能上有哪些提升。本文将详细介绍阿里云服务器五代、六代、七代、八代实例的特点及性能提升,帮助用户更好地了解并选择适合自己的云服务器实例。
|
2天前
|
存储 弹性计算 应用服务中间件
阿里云轻量应用服务器出新品通用型实例了,全球26个地域可选
近日,阿里云再度发力,推出了首款全新升级的轻量应用服务器——通用型实例。这款服务器实例不仅标配了200Mbps峰值公网带宽,更在计算、存储、网络等基础资源上进行了全面优化,旨在为中小企业和开发者提供更加轻量、易用、普惠的云计算服务,满足其对于通用计算小算力的迫切需求。目前,这款新品已在全球26个地域正式上线,为全球用户提供了更加便捷、高效的上云选择。
|
5天前
|
存储 弹性计算 安全
阿里云服务器经济型e实例4核16G和8核32G特惠云服务器测评参考
阿里云有两款特惠云服务器——4核16G10M带宽和4核32G10M带宽,系统盘都是100G ESSD Entry,价格分别仅需70元1个月和160元1个月。那么,这两款云服务器到底性能如何?适用于哪些场景?是否值得购买?本文将全方位深入测评这两款特惠云服务器,并为您提供详细的购买建议。
|
10天前
|
存储 人工智能 网络协议
浅聊阿里云倚天云服务器:c8y、g8y、r8y实例性能详解与活动价格参考
选择一款高性能、高性价比的云服务器对于企业而言至关重要,阿里云推出的倚天云服务器——c8y、g8y、r8y三款实例,它们基于ARM架构,采用阿里自研的倚天710处理器,并基于新一代CIPU架构,通过芯片快速路径加速手段,实现了计算、存储、网络性能的大幅提升。2025年,计算型c8y云服务器活动价格860.65元一年起,通用型g8y云服务器活动价格1187.40元一年起,内存型r8y云服务器活动价格1454.32元一年起。本文将为大家详细解析这三款实例的性能特点、应用场景以及最新的活动价格情况,帮助大家更好地了解阿里云倚天云服务器。
|
24天前
|
存储 缓存 资源调度
阿里云服务器经济型、通用算力型、计算型、通用型、内存型实例区别与选择指南
在我们通过阿里云的活动选购云服务器的时候会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,这会是因为不同实例规格的由于采用的处理器不同,底层架构也有所不同(例如X86 计算架构与Arm 计算架构),因此不同实例的云服务器其性能与适用场景是有所不同。本文将详细解析阿里云的经济型、通用算力型、计算型、通用型和内存型实例的性能特点及适用场景,帮助用户根据自己的业务需求做出明智的选择。
|
25天前
|
开发框架 缓存 .NET
阿里云轻量应用服务器、经济型e、通用算力型u1实例怎么选?区别及选择参考
在阿里云目前的活动中,价格比较优惠的云服务器有轻量应用服务器2核2G3M带宽68元1年,经济型e实例2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这几个云服务器是用户关注度最高的。有的新手用户由于是初次使用阿里云服务器,对于轻量应用服务器、经济型e、通用算力型u1实例的相关性能并不是很清楚,本文为大家做个简单的介绍和对比,以供参考。
|
30天前
|
存储 分布式计算 安全
阿里云服务器经济型、通用算力型、计算型、通用型各主要实例性能、适用场景对比
在阿里云目前的活动中,云服务器实例规格有几大类,分别是轻量应用服务器、经济型e实例、通用算力型u1实例,第七代计算型c7、通用型g7、内存型r7实例,第八代计算型c8i、通用型g8i、内存型r8i实例,倚天云服务器实例计算型c8y、通用型g8y、内存型r8y实例,不同类型的实例规格,性能和适用场景不同,本文将这些热门实例规格的性能和适用场景全部展示出来,以供大家做对比和选择参考,从而选择出适合自己需求的云服务器实例规格。
|
1月前
|
存储 缓存 安全
阿里云服务器通用算力型u1实例怎么样?实例性能与测评结果参考
本文将通过性能评测、适用场景、特点介绍、实测数据分享以及最新活动价格等多个方面,全方位解析这款云服务器实例,以供用户了解和参考。

热门文章

最新文章