Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
linux:ansible:playbooks [2023/11/23 18:56] werwolf [Переменная через extra-vars] |
linux:ansible:playbooks [2023/11/23 19:03] (текущий) werwolf |
||
|---|---|---|---|
| Строка 38: | Строка 38: | ||
| ansible-playbook -i hosts.ini user.yml -K | ansible-playbook -i hosts.ini user.yml -K | ||
| </code> | </code> | ||
| - | |||
| - | ==== Переменные ==== | ||
| - | |||
| - | === Переменная в задаче === | ||
| - | |||
| - | <code yaml> | ||
| - | --- | ||
| - | - name: user | ||
| - | hosts: demo #наша группа серверов | ||
| - | tasks: | ||
| - | - name: Create user # название таска | ||
| - | vars: | ||
| - | user: werwolf2 | ||
| - | user: # название модуля | ||
| - | name: "{{ user }}" # имя нового пользователя | ||
| - | state: present # создать пользователя если его нет | ||
| - | become: true # использовать sudo | ||
| - | </code> | ||
| - | |||
| - | === Переменная для всех задач Playbook === | ||
| - | |||
| - | <code yaml> | ||
| - | --- | ||
| - | - name: user | ||
| - | hosts: demo #наша группа серверов | ||
| - | vars: | ||
| - | test: test1 | ||
| - | tasks: | ||
| - | - name: Create user # название таска | ||
| - | user: # название модуля | ||
| - | name: "{{ user }}" # имя нового пользователя | ||
| - | state: present # создать пользователя если его нет | ||
| - | become: true # использовать sudo | ||
| - | </code> | ||
| - | |||
| - | === Переменные в вынесенном файле === | ||
| - | |||
| - | <code yaml> | ||
| - | --- | ||
| - | - name: user | ||
| - | hosts: demo #наша группа серверов | ||
| - | vars_files: | ||
| - | - ./my_vars.yaml | ||
| - | tasks: | ||
| - | - name: Create user # название таска | ||
| - | user: # название модуля | ||
| - | name: "{{ user }}" # имя нового пользователя | ||
| - | state: present # создать пользователя если его нет | ||
| - | become: true # использовать sudo | ||
| - | </code> | ||
| - | |||
| - | === Переменные подключаемые из файла по умолчанию для определенной группы (к примеру demo) === | ||
| - | |||
| - | Структура папок для подключения переменных из файла vars.yml | ||
| - | |||
| - | <code> | ||
| - | 📁 ansible-demo | ||
| - | +---📁 group_vars | ||
| - | | +---📁 demo | ||
| - | | +---vars.yml | ||
| - | \---host.ini | ||
| - | \---user.yml | ||
| - | </code> | ||
| - | |||
| - | сам файл user.yml | ||
| - | |||
| - | <code yaml> | ||
| - | --- | ||
| - | - name: user | ||
| - | hosts: demo | ||
| - | tasks: | ||
| - | - name: Create user | ||
| - | user: | ||
| - | name: "{{ user }}" | ||
| - | state: present | ||
| - | become: true | ||
| - | </code> | ||
| - | |||
| - | <code shell> | ||
| - | ansible-playbook -i hosts.ini user.yml -K | ||
| - | </code> | ||
| - | |||
| - | === Переменные подключаемые из файла по умолчанию для хостов ===<code> | ||
| - | 📁 ansible-demo | ||
| - | +---📁 host_vars | ||
| - | | +---127.0.0.1.yaml | ||
| - | \---host.ini | ||
| - | \---user.yml | ||
| - | </code> | ||
| - | |||
| - | сам файл user.yml | ||
| - | |||
| - | <code yaml> | ||
| - | --- | ||
| - | - name: user | ||
| - | hosts: demo | ||
| - | tasks: | ||
| - | - name: Create user | ||
| - | user: | ||
| - | name: "{{ user }}" | ||
| - | state: present | ||
| - | become: true | ||
| - | </code> | ||
| - | |||
| - | <code shell> | ||
| - | ansible-playbook -i hosts.ini user.yml -K | ||
| - | </code> | ||
| - | |||
| - | ==== Переменные в файле inventory ==== | ||
| - | |||
| - | <code ini> | ||
| - | [demo] | ||
| - | 127.0.0.1 ansible_user=werwolf ansible_port=2222 user=werwolf | ||
| - | </code> | ||
| - | |||
| - | ==== Сгруппировать хосты ==== | ||
| - | |||
| - | <code> | ||
| - | 📁 ansible-demo | ||
| - | +---📁 demo-server | ||
| - | | +---demo | ||
| - | | \---📁 group_vars | ||
| - | | +---📁 demo | ||
| - | | +---vars.yml | ||
| - | \---user.yml | ||
| - | </code> | ||
| - | |||
| - | demo | ||
| - | <code ini> | ||
| - | [demo] | ||
| - | 127.0.0.1 ansible_user=werwolf ansible_port=2222 | ||
| - | </code> | ||
| - | |||
| - | |||
| - | user.yml | ||
| - | <code yaml> | ||
| - | --- | ||
| - | - name: user | ||
| - | hosts: demo | ||
| - | tasks: | ||
| - | - name: Create user | ||
| - | user: | ||
| - | name: "{{ user }}" | ||
| - | state: present | ||
| - | become: true | ||
| - | </code> | ||
| - | |||
| - | all.yaml | ||
| - | <code yaml> | ||
| - | user: werwolf | ||
| - | </code> | ||
| - | |||
| - | |||
| - | Выполним ansible | ||
| - | <code bash> | ||
| - | ansible-playbook -i demo-server user.yml - | ||
| - | </code> | ||
| - | |||
| - | ==== Переменная через extra-vars ==== | ||
| - | |||
| - | <code bash> | ||
| - | ansible-playbook -i demo-server user.yml -K --extra-vars "user=werwolf" | ||
| - | </code> | ||
| - | }==== Приоритет переменных ==== | ||
| - | |||
| - | |||