Инструменты пользователя

Инструменты сайта


linux:ansible:playbooks

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
linux:ansible:playbooks [2023/11/23 19:01]
werwolf
linux:ansible:playbooks [2023/11/23 19:03] (текущий)
werwolf
Строка 39: Строка 39:
 </​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>​ 
-} 
-==== Приоритет переменных ==== 
- 
-{{ :​linux:​ansible:​priority.png |}} 
- 
- 
-==== vars_prompt ==== 
- 
-<code yaml> 
---- 
-- name: user 
-  hosts: demo 
-  vars_prompt:​ 
-    - name: user 
-      prompt: "​Введите пользователя"​ 
-      private: no 
-  tasks: 
-    - name: Create user 
-      user: 
-        name: "{{ user }}" 
-        state: present 
-      become: true 
-</​code>​ 
- 
-<code bash> 
-werwolf@werwolf-System-Product-Name:​~/​ansible-demo$ ansible-playbook -i demo-server user.yml -K  
-BECOME password: ​ 
-Введите пользователя:​ werwolf 
- 
-</​code>​ 
  
  
linux/ansible/playbooks.1700755291.txt.gz · Последние изменения: 2023/11/23 19:01 — werwolf