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

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


linux:ansible:playbooks

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
linux:ansible:playbooks [2023/11/23 13:17]
werwolf
linux:ansible:playbooks [2023/11/23 19:03] (текущий)
werwolf
Строка 1: Строка 1:
-====Playbooks====+==== Playbooks ====
  
 Это файлы в которых прописаны сценарии действий,​ которые нужно выполнить с какой, то группой хостов. Это файлы в которых прописаны сценарии действий,​ которые нужно выполнить с какой, то группой хостов.
Строка 7: Строка 7:
   * Play — набор задач которые нужно выполнить для группы хостов   * Play — набор задач которые нужно выполнить для группы хостов
   * task — конкретная задача.   * task — конкретная задача.
 +
 +наш inventory файл hosts.ini
 +
 +<code ini>
 +[demo]
 +127.0.0.1 ansible_user=werwolf ansible_port=2222
 +</​code>​
 +
 Ниже схема простого playbook’a использующего модуль ios_command:​ Ниже схема простого playbook’a использующего модуль ios_command:​
  
-{{ :​linux:​ansible:​1_03gpcpr4nkpz1ad5kgsgmg.jpg ​|}}+{{  :​linux:​ansible:​1_03gpcpr4nkpz1ad5kgsgmg.jpg ​ }}
  
 Создадим файл user.yaml Создадим файл user.yaml
Строка 15: Строка 23:
 <code yaml> <code yaml>
 --- ---
-- name: user +- name: user
   hosts: demo #наша группа серверов   hosts: demo #наша группа серверов
   tasks:   tasks:
Строка 26: Строка 34:
  
 запустим ansible команду запустим ansible команду
 +
 <code bash> <code bash>
-ansible-playbook -i hosts.ini user.yml -K 
-</​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 ansible-playbook -i hosts.ini user.yml -K
 </​code>​ </​code>​
linux/ansible/playbooks.1700734663.txt.gz · Последние изменения: 2023/11/23 13:17 — werwolf