Ansible playbook入门

栏目: 服务器 · 发布时间: 7年前

内容简介:Ansible playbook入门

playbook是Ansible进行配置管理的基本组件。

第一个playbook

Ansible playbook的文件格式为yaml,具体yaml的语法可以参考 这里

下面我们编写一个使用yum安装nginx的playbook作为入门,nginx.yaml的内容如下:

---
- hosts: web-servers
  tasks:
  - selinux: state=disabled
  - name: Add repository
    yum_repository:
      name: nginx
      baseurl: http://nginx.org/packages/centos/7/$basearch/
      gpgcheck: no
      enabled: yes
      description: nginx repo
  - name: Install nginx
    yum: name=nginx state=present
  - name: Copy nginx.conf
    template: src=./nginx.conf.j2 dest=/etc/nginx/nginx.conf owner=root group=root  mode=0644 validate='nginx -t -c %s'
    notify:
    - Restart nginx
  handlers:
  - name: Restart nginx
    systemd: name=nginx state=restarted enabled=yes
  • - hosts: web-servers 定义了该playbook的目标主机,这里指定了资源清单文件/etc/ansible/hosts中的web-servers组,如果目标是所有主机则可以使用all
  • tasks: 定义该playbook的task集合,可以使用 ansible-playbook nginx.yaml --list-task 打印playbook中的task。
  • - selinux: state=disabled 定义了一个名称为selinux的task,使用Ansible的 selinux module禁用目标主机上的色Linux。
  • - name: Add repository 定义的task使用Ansible的 yum_repository module向目标主机添加nginx官方的yum repo
  • - name: Install nginx 定义的task使用Ansible的 yum module在各个目标主机上安装nginx
  • - name: Copy nginx.conf 定义的task使用Ansible的 template module将nginx.conf.j2模板生成nginx.conf配置文件并推送到各个目标主机。 notify 指定了配置文件推送成功且配置文件内容发生变化侯触发名称为 Restart nginx 的handler。
  • handlers 中只有一个 Restart nginx 的handler,使用Ansible的 systemd module实现重启nginx服务。

nginx.conf.j2模板是 python 的Jinja2模本,这里作为一个入门的例子,先不考虑模板功能,直接使用一个期望的nginx配置文件的内容即可。

运行playbook

在运行playbook之前可以对playbook的语法进行检查:

ansible-playbook nginx.yaml --syntax-check

playbook: nginx.yaml

查看playbook中的task:

ansible-playbook nginx.yaml --list-task

显示playbook面向的主机:

ansible-playbook nginx.yaml --list-hosts

运行playbook:

ansible-playbook nginx.yaml

playbook运行成功后,会在各个目标主机上安装并启动nginx。以后如果需要更改nginx.conf的内容,只需要修改nginx.conf.j2,在运行这个playbook时,指定运行 Copy nginx.conf 这个task。

ansible-playbook nginx.yaml --start-at-task='Copy nginx.conf'

参考


以上所述就是小编给大家介绍的《Ansible playbook入门》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

游戏编程入门

游戏编程入门

莫里森 / 人民邮电出版社 / 2005-9 / 49.00元

本书介绍如何设计和构建自己的计算机游戏。书中从零开始,引导读者开发一个“即插即用”的游戏引擎,并基于该引擎,循序渐进地开发7个完整的游戏。全书分为8个部分,共24章,内容包括游戏编程基础知识、如何与玩家交互、使用子画面动画、使用声音和音乐、高级动画、游戏人工智能、增添游戏的趣味性和附加练习。此外,在随书光盘中提供有附录,包括C++语言和windows编程的入门指导、游戏开发工具以及游戏图形创建的介......一起来看看 《游戏编程入门》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具