1. 程式人生 > >ansibke playbook (劇本) yaml

ansibke playbook (劇本) yaml

code 順序 stdout 簡單用法 傳參 ech 多少 命令 ansible

- ansible-playbook命令格式

   - 執行順序 :從上往下

   - 特性:冪等性 不管執行多少遍,結果都是一樣的

ansible-playbook [options] playbook.yml [playbook2 ...] 
-C, --check   # 檢查,白跑,幹跑
-f FORKS, --forks=FORKS #用來做並發
--list-hosts # 列出主機列表
--syntax-check # 語法檢查 

- 簡單用法

- hosts: web
  tasks:
  - name: creategroup
    group: name
=jamlee1 - name: cretaeuser user: name=jam1

- 傳參

- hosts: web
  tasks:
  - name: create{{ user }}
    user: name={{ user}}

   - 方法一

ansible-playbook -e user=jamlee1 p1.yml

   - 方法二 (host文件)

vi /etc/ansible/hosts 

[db]
192.168.33.131 user=jam1
192.168.107.132 user=jam2

   - 方法三 (host文件)

[db:vars] #表示組的參數
user=jam2

   - 方法四

- hosts: db
  vars:
  - user: jam3
  tasks:
  - name: create{{ user }}
    user: name={{ user}}

   - 方法五

- hosts: db
  tasks:
  - name: sum
    shell: echo 7+8|bc
    register: user
  - name: createuser
    user: name
={{user.stdout}}

傳參方式的優先級

-e > playbook vars > hosts文件

ansibke playbook (劇本) yaml