自动化运维工具ansible之变量和循化

变量,循环

创建用户

vim createuser.yml
---
- hosts: localhost
  vars_files:            指定变量文件
    - userlist.yml
  tasks:
    - name: craete user
      user:
        name: "{{ item.user }}"
        password: "{{ item.pass | password_hash('sha512') }}"
        state: present
      loop: "{{ userlist }}"
vim userlist.yml
---
userlist:        #密码不能是纯数字
  - user: user1
    pass: westos1
  - user: user2
    pass: westos2
  - user: user3
    pass: westos3

文件加密:

ansible-vault
    [create|decrypt|edit|encrypt|encrypt_string|rekey|view] [options] [vaultfile.yml]
ansible-vault encrypt userlist.yml    加密
ansible-vault decrypt userlist.yml    解密
ansible-vault edit userlist.yml       编辑加密文件
ansible-vault view userlist.yml       查看加密文件
ansible-playbook createuser.yml --ask-vault-pass    推送加密文件

磁盘分区,逻辑卷:(基于分区)

ansible localhost -m setup          查看localhost主机信息

ansible-doc --list |grep parted   过滤分区

ansible-doc --list |grep lv   过滤lvs

无变量分区:
---
- host: test
  vars_files:
  tasks:
    - name: create a new primary partition
      parted:
        device: /dev/vdb
        number: 1
        part_start: 1MiB        
        part_end: 1GiB
        state: present
    - name: create two partition
      parted:
        device: /dev/vdb
        number: 2
        part_start: 1GiB        第二次分区必须指定开始位置
        part_end: present
        start: present
设置变量:
---
- host: test
  var_files:
    - storage_vars.yml
  vars_files:
  tasks:
    - name: create a new primary partition
      parted:
        device: /dev/vdb
        number: "{{ item.number }}"
        part_start: "{{ item.start }}"        
        part_end: "{{ item.end }}"
        state: present
      loop: "{{ partitions }}"
    # 创建逻辑卷
    - name: create volume group
      lvg:
        vg: demo_vg
        pvs: /dev/vdb1
    - name: create a local volume
      lvol:
        vg: demo_vg
        lv: test
        size: 100%VG
        resizefs: true
        force: yes
        state: present
      #when: test not in ansible_lvm['lvs']
    - name: create a xfs filesystem
      filesystemc:
        fstype: xfs
        dev: /dev/demo_vg/test

    - name: mount lvs
      mount:
        path: /var/www/html
        src: /dev/demo_vg/test
        fstype: xfs
        opts: noatime         不更改访问时间        
        state: mounted        会直接挂载,就能够使用
vim storage_vars.yml
    partitions:
      - number: 1
        start: 1GiB
        end: 1GiB
      - number: 2
        start: 1GiB
        end: 2GiB

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值