ansible——实施playbook

实验环境

ansible主机:192.168.1.19
受管主机:192.168.1.19(rhel8_no1.test.com) 192.168.1.39(rhel7_no1.test.com)

1. 编写和运行playbook

yaml 格式通常以 yml 为扩展名,yaml 对于缩进量没有严格要求,但是有两个基本原则:
1.处于同一层次结构中同一级别的数据元素必须具有相同的缩进量
2.如果项目属于其他项目的子项,其缩进量必须大于父项

示例:
①:vim user.yml 编写一个简单playbook,检测rhel8_no1.test.com主机是否存在uid为student用户
在这里插入图片描述
②:ansible-playbook user.yml ##运行playbook
在这里插入图片描述
编写与执行playbook时的相关命令:

ansible-doc -l #列出所有模块  
ansible-doc yum #列出 yum 的用法和示例 
ansible-doc -s yum #终端中输出 yum 模块中各参数的用法
ansible-playbook --syntax-check user.yml  ##语法验证
ansible-playbook -C user.yml    ##空执行;预览执行效果,实际没有在受管主机执行任务
提高输出详细程度:
ansible-playbook 默认输出不提供详细任务执行信息。-v 参数提供,共四个级别:
 -  -v  #显示任务结果 
 -  -vv #显示任务结果和任务配置 
 - -vvv #包含关于与受管主机的连接信息 
 - -vvvv #增加连接插件相关的额外详细程度选项(包括受管主机上用于执行脚本的用户及所执行的脚本)

安装、配置默认发布页并启动 apache:
①:vim index.html ##编写发布页面
在这里插入图片描述
②:vim inventory ##编写主机清单
在这里插入图片描述
③:vim site.yml ##编写playbook ,对webservers主机组的所有主机进行安装、配置默认发布页并启动 apache
在这里插入图片描述
④:ansible-playbook site.yml ##运行playbook
在这里插入图片描述
⑤:在浏览器访问受管主机的apache发布页面进行测试
在这里插入图片描述
在这里插入图片描述

2. 实施多个 play

模板:

--- 
 - name: first play 
  hosts: servera.example.com 
  tasks: 
  	- name: first task
  	  yum:
  	    name: httpd 
  	    status: present 
    - name: second task 
      service: 
      	name: httpd
        enabled: true 
 - name: second play 
  hosts: serverb.example.com
  tasks:
     - name: first task 
       service: 
       	 name: mariadb 
         enabled: true
 ...

示例:
对受管主机进行安装apache操作,并配置防火墙策略与默认发布页面,使其能够被访问,同时在本地主机对发布页面进行测试

---
 - name: Enable internet services
  hosts: rhel8_no1.test.com
  become: yes   ## 权限提升,以root身份执行
  tasks:
          - name: latest version of httpd and firewalld installd
            yum:
               name:
                  - httpd
                  - firewalld    ##安装apache,firewalld
               state: latest
          - name: configure  index.html
            copy:
               content: "welcome to ansinble page !!!"  ##修改受管主机的默认发布页面
               dest: /var/www/html/index.html
          - name: firewalld enabled  and running
            service:
               name: firewalld
               enabled: true                 ##开启防火墙并设置开机自启
               state: started
          - name: firewalld permits access to httpd service
            firewalld:
               service:http
               permanent: true
               state: enabled           ##  在防火墙永久开放http服务
               immediate: yes
          - name: httpd enabled and running
            service:
                name: httpd           ##开启并设定开机自启httpd服务
                enabled: true
                state: started
 - name : test webservers in localhost
  hosts: localhost                ##在本机测试远程受管主机的apache发布页面
  become: no
  tasks:
     - name: connect to intranet web server
       uri:
         url: http://192.168.1.19
         return_content: yes
         status_code: 200

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值