playbook j2脚本

修改默认apache发布页面!!
vim hosts.j2

{% for WEB in WEBS%}
{% if WEB['NAME'] is not defined %}
<VirtualHost _default_:80>
{% endif%}
{% if WEB['NAME'] is  defined %}
<VirtualHost *:80>
  ServerName {{ WEB['NAME'] }}
{% endif%}
  DocumentRoot {{ WEB['DOC'] }}
</VirtualHost>
{% endfor%}
~              


vim apache.yml

---
- name: install web server
  hosts: all
  vars:
    WEBS:
      - DOC: /var/www/html
        INDEX: /var/www/html/index.html
        INDEX_TEXT: www.westos.org
      - NAME: linux.westos.org
        DOC: /var/www/westos.org/linux
        INDEX: /var/www/westos.org/linux/index.html
        INDEX_TEXT: linux.westos.org
  tasks:
    - name: install apache
      dnf:
        name: httpd
        state: present

    - name: create vhost configure file
      template:
        src: ./hosts.j2
        dest: /etc/httpd/conf.d/hosts.conf
      notify: restart httpd

    - name: create html dir
      file:
        path: "{{ item['DOC'] }}"
        state: directory
      loop: "{{ WEBS }}"

    - name: create index.html
      copy:
        dest: "{{ item['INDEX']}}"
        content: "{{ item['INDEX_TEXT'] }}"
      loop: "{{ WEBS }}"

    - name: start web server
      service:
        name: httpd
        state: started
        enabled: yes

    - name: set firewalld
      firewalld:
        service:  http
        permanent: yes
        state: enabled
        immediate: yes

  handlers:
    - name: restart httpd
      service:
        name: httpd
        state: restarted







逻辑卷创建
创建一个名为/home/student/ansible/lv.yml 的playbook,它将在所有受管节点上运行以执行下列任务

    创建符合以下要求的逻辑卷:
    逻辑卷创建在 research 卷组中
    逻辑卷名称为 data
    逻辑卷大小为 1500MiB
    如果无法创建请求的逻辑卷大小,应显示错误消息
Could not create logical volume of that size,并且应改为使用大小 800MiB。
如果卷组 不存在 ,应显示错误消息
Volume group does not exist。


vim lvm.yml

---
- name: create lvm
  hosts: all
  tasks:
    - name: check vg westos
      debug:
        msg: vg westos is not exist
      when: ansible_facts['lvm']['vgs']['westos'] is not defined

    - name: create 1500M exam_lvm
      lvol:
        vg: westos
        lv: exam_lvm
        size: 1500m
      when: ansible_facts['lvm']['vgs']['westos'] is defined
      ignore_errors: yes
      register: LVSTATE

    - name: create 800M exam_lvm
      lvol:
        vg: westos
        lv: exam_lvm
        size: 800m
      when:
        - ansible_facts['lvm']['vgs']['westos'] is defined
        - LVSTATE['rc'] != 0
~                                                                                                                                                     
~                                


添加加密的用户以及组的

---
- name: create user
  hosts: dev,test,prod
  vars_files:
    - user_list.yml
    - locker.yml
  tasks:
    - name: create group dev
      group:
        name: devops
        state: present
      when: invertory_hostname in groups['dev'] or invertory_hostname in groups['test']
    - name: create group opsmgr
      group:
        name: opsmgr
        state: present
      when: invertory_hostname in groups['prod']

    - name: create users
      user:
        name: "{{ item.name }}"
        groups: devops
        password: "{{ pw_developer | password_hash('sha512') }}"
      loop: "{{ users }}"
      when:
        - item.job == "developer"
        - ( invertory_hostname in groups['dev'] or invertory_hostname in groups['test'] )
    - name: create users for prod
      user:
        groups: opsmgr
        name: "{{ item.name }}"
        password: "{{ pw_manager|password_hash('sha512') }}"
      loop: "{{ users }}"
      when:
        - item.job == "manager"
        - invertory_hostname in groups['prod']
        - ```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dudududu--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值