Ansible实战:Playbook编写

该博客介绍了如何使用Ansible脚本`config_nginx.yml`来安装Nginx,设置默认主页,启动并设置服务开机自启,以及通过防火墙配置允许HTTP服务。另外,还展示了`packages.yml`剧本,用于在dev,prod和test主机组中安装php和mariadb,为dev主机组安装DevelopmentTools包组,并升级所有软件包。

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

题目要求:

一、创建剧本 config_nginx.yml,完成以下功能:
1、安装nginx
2、提供默认主页
3、启动并开机自启服务

步骤:

  1. 创建 config_nginx.yml 文件
[root@student day2]# touch config_nginx.yml
  1. 按要求编写脚本
---
- hosts: all
  tasks: 
    - name: 1. install nginx
      yum: 
        name: nginx

    - name: 2. default page
      copy:
        content: 'This is my default page!\n '
        dest: /var/www/html/index.html

    - name: 3. config services
      service: 
        name: nginx
        state: started
        enabled: yes

    - name: 4. firewalld
      firewalld:
        service: http
        permanent: yes
        immediate: yes
        state: enabled
  1. 对脚本进行语法检查或空运行
# 语法检查
[root@student day2]# ansible-playbook config_nginx.yml --syntax-check
# 空运行
[root@student day2]# ansible-playbook config_nginx.yml -C

PLAY [all] ************************************************************************

TASK [Gathering Facts] ************************************************************
ok: [student]
ok: [node3]
ok: [node1]
ok: [node2]

TASK [1. install nginx] ***********************************************************
ok: [node3]
ok: [node1]
ok: [node2]
ok: [student]

TASK [2. default page] ************************************************************
ok: [node3]
ok: [node1]
ok: [node2]
ok: [student]

TASK [3. config services] *********************************************************
ok: [node3]
ok: [node2]
ok: [node1]
ok: [student]

TASK [4. firewalld] ***************************************************************
ok: [node3]
ok: [node2]
ok: [node1]
ok: [student]

PLAY RECAP ************************************************************************
node1                      : ok=5    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
node2                      : ok=5    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
node3                      : ok=5    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
student                    : ok=5    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
  1. 运行脚本
[root@student day2]# ansible-playbook config_nginx.yml

PLAY [all] ************************************************************************

TASK [Gathering Facts] ************************************************************
ok: [student]
ok: [node1]
ok: [node2]
ok: [node3]

TASK [1. install nginx] ***********************************************************
ok: [node1]
ok: [node2]
ok: [node3]
ok: [student]

TASK [2. default page] ************************************************************
ok: [node1]
ok: [node3]
ok: [node2]
ok: [student]

TASK [3. config services] *********************************************************
ok: [node1]
ok: [node3]
ok: [node2]
ok: [student]

TASK [4. firewalld] ***************************************************************
changed: [node2]
changed: [node1]
changed: [node3]
changed: [student]

PLAY RECAP ************************************************************************
node1                      : ok=5    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
node2                      : ok=5    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
node3                      : ok=5    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
student                    : ok=5    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

二、创建一个名为packages.yml的剧本
1、在 dev,prod 和 test 主机组中安装 php 和 mariadb 软件包
2、在 dev 主机组中安装 Development Tools 包组
3、升级 dev 主机组中主机的所有软件包

步骤:

  1. 创建 packages.yml 文件
[root@student day2]# touch packages.yml
  1. 按要求编写脚本
---
- name: 1. #在 dev,prod 和 test 主机组中安装 php 和 mariadb 软件包
  hosts: dev,prod,test
  tasks:
    - name: 1.1 install php
      yum:
        name: php
    - name: 1.2 install mariadb
      yum:
        name: mariadb

- name: 2. #在 dev 主机组中安装 Development Tools 包组
  hosts: dev
  tasks:
    - name: install Development Tools
      yum:
        name: "@Development Tools"
        state: present

- name: 3. #升级 dev 主机组中主机的所有软件包
  hosts: dev
  tasks:
    - name: upgrade dev all software
      yum:
        name: "*"
        state: latest
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值