Ansible中playbook的變數

2022-07-13 17:51:10 字數 2216 閱讀 9523

**:

先看看debug模組的使用:

msg:輸出除錯資訊

var:將某個任務執行的輸出作為變數傳給debug模組,debug模組將其列印輸出

verbosity:debug的任務級別

1:在playbook中直接使用      

---

- hosts: db

vars:

vvv: china

tasks:

- name: test var

debug: msg="the variable 『vvv『 is }"

輸出結果:

2:在檔案中定義

---

- hosts: db

vars_files:

- vars.yml

tasks:

- name: test var in file

debug: msg="the variable 『kk『 is }"

變數檔案:

---

kk: lile

執行結果:

3:在hosts檔案中定義 

/etc/ansible/hosts  中定義組變數或者單個主機的變數

[db]

10.0.0.147 pp=ppppppp

[db:vars]

mm=heiheihei

---

- hosts: db

tasks:

- name: test hosts group var

debug: msg="the variable 『mm『 is }"

- name: test singer var

debug: msg="the variable 『pp『 is }"

執行結果:

4:在/etc/ansible目錄下建立group_vars與hosts_vars

mkdir /etc/ansible/group_vars

mkdir /etc/ansible/hosts_vars

想定義組變數時,以組的名字命名建立乙個檔案,然後把變數寫在裡面

如:定義db組的變數  在/etc/ansible/group_vars這裡建立db檔案 vim db           

---

tt: yyyyyyyyyyyyy

然後就可以使用了

--- 

- hosts: db

tasks:

- name: test /etc/ansible/group_vars

debug: msg="the variable 『tt『 is }"

執行結果:

5:在host_vars中是同樣的,只有一需要定義變數的那台主機命名就可以。

6:hostvars從一台遠端主機獲取另一台遠端主機的變數 

方式一:

---

- hosts: db

tasks:

- debug: msg="variable 『tt『 is set to }"

輸出結果:

方式二:

--- 

- hosts: db

tasks:

- name: test hostvars

debug: var=hostvars[『10.0.0.146『][『ttt『]

輸出結果:

Ansible 小手冊系列 九(Playbook)

playbook是由乙個或多個 play 組成的列表。play的主要功能在於將事先歸併為一組的主機裝扮成事先通過ansible中的task定義好的角色。從根本上來講所謂task無非是呼叫ansible的乙個module。將多個play組織在乙個playbook中即可以讓它們聯同起來按事先編排的機制同...

ansible寫乙個簡單的playbook

實現的功能很簡單,就是通過ansible批量完成某個賬戶sudo許可權的開通或關閉 group vars 放置各種變數的目錄,我這裡沒用 hosts 主機和組配置,預設為 etc ansible hosts roles 角色目錄,裡邊可以有多個角色,這裡只配置了乙個common common fil...

ansible中的變數

ansible中變數的優先順序 命令列中的變數 yml檔案中的變數 roles目錄下vars目錄中的變數 roles目錄下default目錄中的變數 變數寫法 1.命令列變數 ansible playbook i hosts host playbooks echo.yml e key ooo val...