运维编排场景系列---在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
运维编排场景系列----分批到机器上运行命令

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
2月前
|
存储 缓存 安全
阿里云服务器热门实例选择参考:e/u1/c7/c8y/c9i/g7/g8y/g9i/r7/r8y/r9i实例适用场景汇总
通过阿里云的活动购买云服务器时,除了轻量应用服务器之外,活动内的云服务器实例规格主要以e/u1/c7/c8y/c9i/g7/g8y/g9i/r7/r8y/r9i这几种为主。本文主要为介绍阿里云服务器的实例规格是什么,有什么用,并汇总了阿里云轻量应用服务器和这些热门云服务器实例规格的适用场景,以供大家了解和选择适合自己的需求的实例规格。
|
8天前
|
存储 弹性计算 网络协议
阿里云服务器ECS通用算力型u2a实例,CPU采用AMD EPYC处理器,睿频最高3.7 GHz
阿里云ECS通用算力型u2a实例搭载AMD EPYC处理器,睿频高达3.7GHz,基于CIPU架构,网络与存储突发带宽最高25Gbps,I/O性能强、延迟低。支持多种云盘及IPv4/IPv6,适用于中小型数据库、APP服务等场景,性价比高,官网价降低9%-22%,是中小企业上云优选。
177 0
|
2月前
|
存储 弹性计算 缓存
企业级云服务器租用一年需要多少预算?199元2核4G5M带宽阿里云u1实例评测
阿里云企业用户专享,仅需199元/年即可租用ECS通用算力型u1实例(2核4G、5M带宽、80G云盘),适用于中小企业官网、电商展示、数据分析等场景。支持多地域部署,新老用户均可享受,性价比高,助力企业稳定运营。
198 7
|
2月前
|
存储 弹性计算 安全
阿里云轻量服务器通用型、CPU优化型、多公网IP型、国际型、容量型不同实例区别与选择参考
阿里云轻量应用服务器实例类型分为通用型、CPU优化型、多公网IP型、国际型、容量型,不同规格族的适用场景和特点不同,收费标准也不一样。本文为大家介绍轻量应用服务器通用型、多公网IP型、容量型有何区别?以及选择参考。
|
8天前
|
存储 弹性计算 固态存储
阿里云服务器租用价格参考:最新收费标准与不同实例热门配置活动价格
阿里云服务器租用价格参考:配置最低的1核0.5G云服务器,按量付费价格0.063元/小时,按月租用价格为18元/1月,爆款配置的活动价格目前直降,2核2G配置轻量应用服务器抢购价为38元一年;经济型e实例2核2G3M特惠价99元1年;通用算力型u1实例2核4G5M带宽特惠价199元1年;2核8G配置的活动价格最低为一年652.32元;4核16G配置的活动价格最低为1196.64元;8核16G配置的最低一年租用价格为3815.03元。以下是2025年阿里云服务器最新收费标准与热门配置活动价格的详细内容。
|
2月前
|
存储 机器学习/深度学习 缓存
阿里云服务器4核8G配置租用价格:不同实例收费标准、活动价格对比与选购参考
4核8G配置是深受初创企业用户喜欢的云服务器配置,2025年截止目前,按量收费标准最低降至0.45元/小时,包年包月租用平均优惠月价最低仅需159.84元/月,按年购买还可享受u1实例4核8G活动价955.58元/年起的价格。云服务器实例规格和配置不同,收费标准与活动价格也不同,下面是小编为大家整理汇总的阿里云服务器4核8G配置2025年最新收费标准与活动价格。
170 3
阿里云服务器4核8G配置租用价格:不同实例收费标准、活动价格对比与选购参考
|
22天前
|
存储 人工智能 弹性计算
阿里云gpu云服务器收费价格,热门实例简介和最新按量、1个月、1年收费标准参考
在阿里云所有gpu云服务器实例规格中,计算型gn5、gn6i、gn6v、gn7i和最新推出的gn8is、gn8v-tee等实例规格是其中比较热门的gpu云服务器实例。阿里云gpu云服务器最新租用价格参考,适合AI推理/训练的16核60G+1张A10 24G显存(gn7i-c16g1.4xlarge),按量优惠价1.9/小时起。本文为大家展示阿里云gpu云服务器中gn5、gn6i等热门实例规格的主要性能和适用场景以及最新按量和1个月、1年收费标准,以供参考。
|
2月前
|
人工智能 编解码 安全
阿里云服务器上新,第9代AMD企业级实例g9ae,提升企业AI业务创新与性能突破
近日,阿里云推出的服务器ECS第9代AMD企业级实例-g9ae实例已开启邀测阶段,g9ae实例基于CIPU 2.0架构,搭载AMD Turin处理器,为国内首创物理核设计的“性能旗舰型”算力产品,专为AI时代企业离线数据处理打造。本文为大家介绍g9ae实例的性能及适用场景,以供了解与参考。
|
2月前
|
存储 弹性计算 网络协议
阿里云服务器ECS通用算力型u2i实例怎么样?与u1有什么区别?
阿里云ECS通用算力型u2i实例基于全新CIPU架构,性能更稳定,网络带宽和存储IOPS更高,适合对性能和稳定性要求较高的中小型业务。相比u1实例,u2i在架构、网络、存储等方面均有明显提升,适用于动态业务需求。

热门文章

最新文章