1. 程式人生 > 實用技巧 >Ansible變數

Ansible變數

Ansible 變數

目錄

變數名的定義

  1. 變數名應該由字母、數字、下劃線組成,
  2. 變數名需要以字母開頭
  3. ansible內建的關鍵字不能作為變數名

變數的實現方式

playbook中定義和使用變數

name: test
  hosts: 192.168.190.133
  vars:
    test_user: zhangsan     對test_user變數賦值
  tasks:

    - name: add user
      user:
        name: '{{ test_user }}'   定義變數,變數名為:test_user
        state: present

命令列中賦值變數

[root@localhost project]# ansible-playbook -i inventory -e 'test_user=zhangsan' playbook/ceshi1.yml       -e 選項後把zhangsan賦值給變數test_user。

檔案中配置變數

[root@localhost project]# cat host_vars/192.168.190.133/vars
ansible_password: 123456   為ansible_password變數配置密碼

[root@localhost project]# ansible-playbook -i inventory -e 'test_user=zhangsan' playbook/ceshi1.yml   執行playbook -i指定對應的清單

register 變數註冊

對playbook中的某一任務的結果存入到變數中,其後用debug模組呼叫此變數。

[root@localhost project]# vim playbook/ceshi1.yml 
---
- hosts: 192.168.190.134
  tasks: 
          
    - name: yum install and register
      yum:
        name: vsftpd
        state: present
      register: install_log         新建install_log變數,並把yum安裝輸出內容賦值其中。
    - debug: var=install_log     輸出變數中內容
    
    
TASK [debug] *******************************************************************
ok: [192.168.190.134] => {
    "install_log": {
        "changed": true,
        "failed": false,
        "msg": "Check mode: No changes made, but would have if not in check mode",
        "rc": 0,
        "results": []
    }
}
......

變數優先順序