mage Ansible学习2 Playbook

一、上集回顾

  1、运维:

    手动 --> 标准化 --> 工具化 --> 自动化 --> 智能化

  2、工具化

    OS Install:PXE ,Cobbler;Virutalization & Cloud Commputing

    OS Config: ansible,fabric,puppet,saltstack,chef,cfengine,...

    Deployment: fabric,ansible,...

    Task Exec:fabric,ansible,func,...

  3、Ansible:agentless(ssh),modules

    Modules:

      copy,file,fetch..

      yum,easy_install,pip,

      service,

      group,user,

      cron,at,..

      command,shell

      script,

      ping,

      template,...

    Ad-Hoc,Playbook,...

      $ ansible HOST-PATTERN -m MOD_NAME -a MOD_ARGS -C -f FORKS

二、Ansible Playbook

  1、此前我们在命令行中直接运行的方式很难复用,比如我们管控十台主机都装上nginx并启动服务,我们使用ansible命令可直接使用,不过万一其中某几台主机出现故障我们需要重新部署这些命令我们需要记得住并且还需要重新来一遍。所以我们可以让每一台主机要执行的任务将其保存在文件中,这个文件组织成为YAML格式,必要的时候我们只需要使用ansible命令来执行这个指定的playbook,他会读取每一个指定的操作,将其在目标主机上完成。

  2、YAML

    a、定义

    b、功能

    c、语言的构成元素

    c、基本数据结构

      标量、数组、关联数组

      维基百科:https:zh.wikipedia.org/wiki/YAML

  3、playbook核心元素

    a、Hosts:主机即关联到的主机,即哪些主机来执行这些任务

    b、Tasks:任务列表,指要唱哪几出戏。

    c、Variables:在唱戏的过程中如果有些数据我们需要重复使用可以使用此字段

    d、Templates:生成文件时还可以基于模板来定义,这样对于不同的主机我们就可以使用不同的内容了。

    e、Roles:我们可以将playbook分片以后构建成Roles。

    f、Handlers:由特定条件触发的任务。

  4、Playbook的基础组件

    a、Hosts:运行指定任务的目标主机;

    b、remoute_user:在远程主机上执行任务的用户;即目标主机上以哪个用户的身份来执行任务

      sudo_user:如果以普通用户来执行任务有时候需要切换到管理员才能执行

    c、tasks:任务列表,我们要执行管控任务时,我们的任务有哪些个?每一个任务的给定方法有两种,但是无论是哪种给法通常用来指明说调哪个模块传哪些参数从而让他完成哪个管理任务格式如下:

      (1)、action:module arguments:动作和模块参数;action指你打算执行的是删除还是创建这种,调哪个模块,以及向这个模块传递什么参数。

      (2)、module:arguments :模块名称和模块参数;即直接给定模块名称,以及要传递给模块的参数。

      注意:shell 和command 模块后面直接跟命令,而非key=value类的参数列表;

          某任务的状态在运行后为changed时,可通过“notify”通知给相应的handlers;

          任务可以通过“tags”打标签,而后可在ansible-playbook命令上使用 -t 指定进行调用;

  5、运行playbook的方式:

    a、ansible-playbook --check :只检测可能会发生的改变,但不真正执行操作

    b、ansible-playbook --list-hosts: 列出运行任务的主机;

    c、运行

      

      

原文地址:https://www.cnblogs.com/Presley-lpc/p/11684642.html

时间: 2024-07-30 14:43:29

mage Ansible学习2 Playbook的相关文章

mage Ansible学习3 ansible role实例

一.ansible配置文件解析 1./etc/ansible/ansible.cfg配置文件详解 [[email protected] ~]# cat /etc/ansible/ansible.cfg |grep -Ev "^#|^$" [defaults] #默认配置,对所有应用程序都生效 roles_path = /etc/ansible/roles:/usr/share/ansible/roles [inventory] [privilege_escalation] #默认登陆时

ansible核心模块playbook介绍

ansible的playbook采用yaml语法,它简单地实现了json格式的事件描述.yaml之于json就像markdown之于html一样,极度简化了json的书写.在学习ansible playbook之前,很有必要把yaml的语法格式.引用方式做个梳理. 1.1 初步说明 以一个简单的playbook为例,说明yaml的基本语法. --- - hosts: 192.168.100.59,192.168.100.65 remote_user: root pre_tasks: - name

ansible中的playbook

ansible中的playbook,将常用的模块任务,写入到playbook中,ansible方便快捷的管理主机. playbook使用yaml语言来书写,简单说下yaml语言. 1.YAML简介 YAML是一个可读性高的用来表达资料序列的格式.优点 YAML的可读性好 YAML和脚本语言的交互性好 YAML使用实现语言的数据类型 YAML有一个一致的信息模型 YAML易于实现 YAML可以基于流来处理 YAML表达能力强扩展性好 YAML的语法和其他高阶语言类似并且可以简单表达清单.散列表.标

批量搞机(一):ansible学习

一.ansible学习 #### 原文地址:https://www.cnblogs.com/baichuanhuihai/p/8474699.html

Ansible学习记录五:PlayBook学习

0.介绍 Playbooks 是 Ansible 管理配置.部署应用和编排的语言,可以使用 Playbooks 来描述你想在远程主机执行的策略或者执行的一组步骤过程等 类似于一组任务集,定义好像项目,组织结构,配置文件等信息,通过task将所要做的事情一步一步的组织在一起就是完整的Playbook 官方Demo资料:https://github.com/ansible/ansible-examples Playbooks是采用YMAL语言结构,基础语法请参考:http://docs.ansibl

ansible学习笔记7-playbooks之执行一个playbook

执行一个playbook 上面几节已经初步了解了playbook的语法,那么要如何运行一个playbook呢, 这很简单,这里的示例是并行的运行playbook,并行的级别是10 ansible-playbook playbook.yml -f 10 Ansible-Pull(拉取配置而非推送配置) 我们可不可以将ansible的体系架构颠倒过来,让托管节点从一个central location 做check in获取配置信息,而不是推送配置信息到所有的托管节点?是可以的 Ansible-pul

运维自动化工具ansible学习笔记

利用五一假期的时间学习了下ansible,看了一天的官方文档,对其中需要注意的地方,做下笔记整理下思绪. 一.简介 Ansible是与puppet.saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet.saltstack那样都需要客户端.puppet与saltstack这2个软件都需要安装客户端,而saltstack与ansible很相似,都是属于python流的,但saltstack不是很稳定:puppet虽然稳定,但命令执行的时候,需要配置模块

自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机

目录: 一.ansible简介 1.1.ansible是什么 1.2.ansible如何工作 1.3.ansible优缺点 1.4.ansible安装方式 1.5.ansible文件简单介绍 1.6.ansible简单使用 二.ansible-shell简介 2.1.ansible-shell是什么 2.2.ansible-shell安装方式 2.3.ansible-shell简单使用 三.使用ansible的authorized_key模块批量推送公钥到远程主机 3.1.生产秘钥对 3.2.使

ansible连载之playbook使用

ansible-playbook的使用 1. ansible playbook介绍: 简单的说就是定义一个配置文件,文件中写入你需要安装的服务,配置文件,变量等信息,使他们可以按照事先定义好的机制完成一个任务.ansible Playbook使用YAML语法结构,所以配置阅读起来都比较简单. 2. ansible playbook组成结构: target section: 定义将要执行playbook的远程主机组 variable section: 定义playbook运行时需要使用的变量 ta