Ansible之Playbook的使用(主机和用户,定义变量,任务列表,语法检查与调试,任务控制,流程控制,模板实例)

本文介绍了如何在Ansible中使用Playbook,包括配置Centos 7.4环境,定义变量,任务控制,流程控制,如循环操作,以及模板实例。通过示例展示了如何创建并应用变量文件,执行任务,如安装nginx,注册变量,进行语法检查和调试,并演示了如何使用when条件和循环创建文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境都为Centos 7.4主机

192.168.241.100管理节点  192.168.241.101被控端  192.168.241.102被控端

官方使用文档说明:https://docs.ansible.com/ansible/latest/user_guide/playbooks.html

首先创建一个工作目录:

[root@liudongyi ~]# mkdir playbook
[root@liudongyi ~]# cd playbook/

编写一个简单的下载nginx服务并且启动设置成开机启动的nginx.yaml文件(代码中出现中文就有会出错)

- hosts: webservers
  remote_user: root
  gather_facts: false
  tasks:
  - name: nginx latest
    yum: pkg=nginx state=latest
  - name: start nginx
    systemd: name=nginx state=started enabled=yes

运行我们的yaml文件:

[root@liudongyi playbook]# ansible-playbook   nginx.yaml 

 yaml文件也可以写成如下:

---
- hosts: webservers
  vars:
    http_port: 80
    server_name: www.ctnrs.com
  remote_user: root
  gather_facts: false
  tasks:
  - name: 安装nginx最新版
    yum: pkg=nginx state=latest
  - name: 写入nginx配置文件
    template: src=/srv/httpd.j2 dest=/etc/nginx/nginx.conf
    notify:
    - restart nginx
  - name: 确保nginx正在运行
    service: name=httpd state=started
  handlers:
    - name: restart nginx
      service: name=nginx state=reloaded

 

定义变量:

给所以组进行定义变量的步骤:
 1.首先我们需要在创建一个目录(默认引用的目录)用来存放定义变量文件

[root@liudongyi ~]# mkdir /etc/ansible/group_vars

我们新建一个yml的变量文件(里面存放的都是自己给所有组定义的变量)

[root@liudongyi group_vars]# vim all.yml
love : 520
ldy : 1314

我们测试一下是否能输出变量:

查看所有组的变量信息

[root@liudongyi group_vars]# ansible all  -m debug -a "var=love"
[root@liudongyi group_vars]# ansible all  -m debug -a "var=ldy"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值