运维自动化工具ansible-playbook(代码片段)

author author     2022-12-31     676

关键词:

一、简介

playbook是一个非常简单的配置管理和多主机部署系统。可作为一个适合部署复杂应用程序的基础。
playbook可以定制配置,可以按指定的操作步骤有序执行,支持同步和异步方式。
playbook是通过YAML格式来进行描述定义的,可实现多台主机应用的部署,对不同分组的主机执行特定指令步骤。

第一个playbook

---

- hosts: all
  remote_user: root

  tasks:
    - name: test yml
      command: /usr/bin/wall "hello world"

技术分享图片

Playbook工作流程

技术分享图片

二、Playbook核心元素

hosts

hosts 行的内容是一个或多个组或主机的 patterns,以逗号为分隔符。通常是/etc/ansible/hosts定义的主机列表。
remote_user 就是远程执行任务的账户名。

---
- hosts: cluster1,cluster2
  remote_user: root

tasks

任务集

  tasks:
    - name: install httpd
      yum: name=httpd

    - name: start httpd
      service: name=httpd state=started

    - name: check http port
      shell: ss -ntl|grep 80 > /tmp/httpd.txt

    - name: fetch
      fetch: src=/tmp/httpd.txt dest=/tmp

一个yml文件里可以设计多个playbook,不过呢,为了更清晰的管理,建议应该独立存放不同任务需求,方便以后调用。

Handlers 和 notity

由特定条件触发的操作,满足条件方才执行,否则不执行。

Handlers也是task列表,这些task与前述的tasks并没有本质上的不同,用于当关注的资源发生变化时,才会采取一定的操作

还是拿上个例子的playbook修改下。

---
- hosts: clutser1
  remote_user: root

  tasks:
    - name: install httpd
      yum: name=httpd

    - name: change httpd.conf
      copy: src=/app/httpd.conf dest=/etc/httpd/conf/ backup=yes
      notify: restart httpd             # 在 notify 中定义内容一定要和handlers中定义的 - name 内容一样,这样才能达到触发的效果,否则会不生效。
    - name: start httpd
      service: name=httpd state=started

    - name: wall http status
      shell: /usr/bin/wall `ss -nltp|grep httpd`

  handlers:
    - name: restart httpd           # 只有接收到通知才会执行这里的任务
      service: name=httpd state=restarted

ansible-playbook实现mysql的二进制部署

  在第十周作业的《通过编译、二进制安装MySQL5.7》一篇中,笔者演示了如何利用二进制来完成指定版本的MySQL安装,但此种方法仅适用于单台主机,如果是企业中,要安装MySQL的主机数量很多,则费时费力。借助于运维自... 查看详情

ansible-playbook批量部署zabbix

一、需求  机房每次增加一批服务器,一些初始环境变量,监控端,脚本,时间校对,配置文件参数修改等一系操作,刚开始按步就班,也用到一些脚本,高效性没能体现出来。现在升级到ansible,自动化部署应用,配置,... 查看详情

ansible

Ansibleansible ansible-doc ansible-playbook Ansible是一种agentless(基于ssh),可实现批量配置、命令执行和控制,基于Python实现的自动化运维工具。其特性有:模块化:通过调用相关模块,完成指定任务,且支持任何语言编写的自... 查看详情

自动化运维工具saltstack(代码片段)

常见自动化运维工具传统运维效率低,工作繁琐且容易出错重复性事情反复在做,没有标准化的流程传统运维的脚本繁多,不方便管理自动化运维要解决的就是这些问题常见的自动化运维工具puppet(www.puppetlabs.com)基于rubby开发,c/... 查看详情

自动化运维工具-ansible的roles的使用

...​​​三、调用Roles实例​​前言往期Ansible目录​​1、自动化运维工具-Ansible实战指南​​2、自动化运维工具-Ansible的Playbook的使用3、自动化运维工具-Ansible的Roles的使用​​4、B站学习链接​​一、Roles是什么?编写playbook有个... 查看详情

简化it运维工作,就要学会使用自动化运维工具!

...重复的工作,因此简化IT运维工作,就要学会使用自动化运维工具!在重复的运维工作之中,通过提取标准化的工作流程并辅以相应的工具,就可以把重复的工作通过像任务编排加以定时器,让任务自己去... 查看详情

简化it运维工作,就要学会使用自动化运维工具!

...重复的工作,因此简化IT运维工作,就要学会使用自动化运维工具!在重复的运维工作之中,通过提取标准化的工作流程并辅以相应的工具,就可以把重复的工作通过像任务编排加以定时器,让任务自己去... 查看详情

ansible自动化运维工具

...言是运维人员必会的语言!?ansible是一个基于Python开发的自动化运维工具!(saltstack)?其功能实现基于SSH远程连接服务!?ansible可以实现批量系统配置、批量软件部署、批量文件拷贝、批量运行命令等功能      ... 查看详情

自动化运维专题:ansible批量自动化管理工具(代码片段)

... 无需部署agent,通过ssh进行管理  中小型公司常用的自动化运维工具   1.2jenkins简介  可视化运维(主要用在可视化部署)  持续构建,可以和git,snv结合  可结合ssh实现可视化运维  可结合ansible实现可视化... 查看详情

自动化运维工具ansible

一、简介当下有许多的运维自动化工具(配置管理),例如:Ansible、SaltStack、Puppet、Fabric等。Ansible一种集成IT系统的配置管理、应用部署、执行特定任务的开源平台,是AnsibleWorks公司名下的项目,该公司由Cobbler及Func的作者于2012年... 查看详情

自动化运维发展趋势以及好用工具推荐

发展,自动化运维也在持续的发展。那自动化运维发展趋势到底是怎么样的?有什么好用的自动化运维工具推荐吗?自动化运维发展趋势1、自动化运维从传统的面向计算,网络,存储等基础设施资源在往面向... 查看详情

linux中ansible自动化运维工具(代码片段)

1.ansible简介ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet,cfengine,chef,func,fabric)的优点,实现了批量系统配置,批量程序部署,批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能... 查看详情

ansible自动化运维工具

absible是2013年推出的一款IT自动化和DevOps软件,2015年被redhat收购,是基于python研发,糅合很多老运维工具的优点,实现了批量操作系统配置,批量程序部署,批量运行命令等功能ansible可以实现:    --自动化部署APP    -... 查看详情

运维自动化工具ansible(代码片段)

一、基础知识:1.简介ansible基于python开发,集合了众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible运行的模块... 查看详情

自动化运维工具ansible的详细部署(代码片段)

Ansible的来历Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 Ansible是基于paramiko开发的,并且基于模块化工... 查看详情

3.1自动化运维工具ansible(代码片段)

自动化运维工具ansible运维自动化发展历程及技术应用Iaas基础设施即服务Pass平台服务SaaS软件即服务云计算工程师核心职能Linux运维工程师职能划分自动化动维应用场景文件传输命令执行应用部署配置管理任务流编排企业实际应用... 查看详情

ansible自动化运维工具(代码片段)

...基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能&# 查看详情

ansible自动化运维工具(代码片段)

...基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现•Ansible能批量配 查看详情