mod md
parent
471fe09aaf
commit
2474ed92e6
38
readme.md
38
readme.md
|
@ -1,16 +1,16 @@
|
||||||
# Автоматизация процесса создания ВМ в Proxmox с использованием Ansible
|
# Автоматизация процесса создания ВМ в Proxmox с использованием Ansible
|
||||||
## Содержание
|
## Содержание
|
||||||
- [Требования](#требования)
|
-[Требования](#требования)
|
||||||
- [Создание шаблона](#создание-шаблона)
|
-[Создание шаблона](#создание-шаблона)
|
||||||
- [Создание ВМ с помощью Ansible](#создание-вм-с-помощью-ansible)
|
-[Создание ВМ с помощью Ansible](#создание-вм-с-помощью-ansible)
|
||||||
- [Необходимые файлы](#необходимые-файлы)
|
-[Необходимые файлы](#необходимые-файлы)
|
||||||
- [Описание переменных](#описание-переменных)
|
-[Описание переменных](#описание-переменных)
|
||||||
- [Задачи плейбука](#задачи-плейбука)
|
-[Задачи плейбука](#задачи-плейбука)
|
||||||
- [Подключение к ВМ](#подключение-к-вм)
|
-[Подключение к ВМ](#подключение-к-вм)
|
||||||
|
|
||||||
|
|
||||||
## Требования
|
## Требования
|
||||||
Для работы Ansible с гипервизором Proxmox, написан соответсвующий модуль [proxmox_kvm](https://docs.ansible.com/ansible/latest/collections/community/general/proxmox_kvm_module.html).
|
Для работы Ansible с гипервизором Proxmox, написан соответствующий модуль [proxmox_kvm](https://docs.ansible.com/ansible/latest/collections/community/general/proxmox_kvm_module.html).
|
||||||
В свою очередь, для работы модуля `proxmox_kvm` на хосте Proxmox, необходимо установить пакеты `requests` и `proxmoxer`.
|
В свою очередь, для работы модуля `proxmox_kvm` на хосте Proxmox, необходимо установить пакеты `requests` и `proxmoxer`.
|
||||||
Т.к. Ansible написан на Python, необходимые ему пакеты можно установить с помощью PIP.
|
Т.к. Ansible написан на Python, необходимые ему пакеты можно установить с помощью PIP.
|
||||||
Для установки PIP для Python 2 - `sudo apt install python-pip`
|
Для установки PIP для Python 2 - `sudo apt install python-pip`
|
||||||
|
@ -71,11 +71,11 @@ root@pve:~# ./create_template.sh verySecPassword
|
||||||
|
|
||||||
### Необходимые файлы
|
### Необходимые файлы
|
||||||
Для корректной работы плейбука необходимы следующие файлы:
|
Для корректной работы плейбука необходимы следующие файлы:
|
||||||
- `ansible.cfg` - файл общих настроек ansible
|
-`ansible.cfg` - файл общих настроек ansible
|
||||||
- `create_vm.yaml` - файл плейбука
|
-`create_vm.yaml` - файл плейбука
|
||||||
- `hosts.ini` - файл инвентаря, в котором указан, единственный в данном примере хост Proxmox
|
-`hosts.ini` - файл инвентаря, в котором указан, единственный в данном примере хост Proxmox
|
||||||
- `vars.yaml` - используемые переменные
|
-`vars.yaml` - используемые переменные
|
||||||
- `vms.yaml` - переменные с описанием создаваемых ВМ
|
-`vms.yaml` - переменные с описанием создаваемых ВМ
|
||||||
|
|
||||||
[⬆ Наверх](#содержание)
|
[⬆ Наверх](#содержание)
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ vms:
|
||||||
[⬆ Наверх](#содержание)
|
[⬆ Наверх](#содержание)
|
||||||
|
|
||||||
### Задачи плейбука
|
### Задачи плейбука
|
||||||
- Клонирование ВМ из шаблона
|
-Клонирование ВМ из шаблона
|
||||||
*за основу были взяты примеры из документации https://docs.ansible.com/ansible/latest/collections/community/general/proxmox_kvm_module.html#examples*
|
*за основу были взяты примеры из документации https://docs.ansible.com/ansible/latest/collections/community/general/proxmox_kvm_module.html#examples*
|
||||||
В задаче создаются виртуальные машины на основе шаблона
|
В задаче создаются виртуальные машины на основе шаблона
|
||||||
конструкция
|
конструкция
|
||||||
|
@ -129,19 +129,19 @@ loop: "{{ lookup('dict', vms) }}"
|
||||||
```
|
```
|
||||||
позволяет перебрать все необходимые ключи и значения из словаря `vms`
|
позволяет перебрать все необходимые ключи и значения из словаря `vms`
|
||||||
|
|
||||||
- Настройка IP адресов
|
-Настройка IP адресов
|
||||||
В этой задаче назначается IP адрес для каждой созданной ВМ и IP адрес шлюза по-умолчанию
|
В этой задаче назначается IP адрес для каждой созданной ВМ и IP адрес шлюза по-умолчанию
|
||||||
|
|
||||||
- Настройка DNS
|
-Настройка DNS
|
||||||
Как видно из названия, в ВМ указывается IP адрес DNS сервера
|
Как видно из названия, в ВМ указывается IP адрес DNS сервера
|
||||||
|
|
||||||
- Копирование SSH ключей в ВМ
|
-Копирование SSH ключей в ВМ
|
||||||
Для беспарольного доступа в ВМ будет скопирован указанный SSH ключ хоста, на котором выполняется плейбук
|
Для беспарольного доступа в ВМ будет скопирован указанный SSH ключ хоста, на котором выполняется плейбук
|
||||||
|
|
||||||
- Обновление параметров ВМ
|
-Обновление параметров ВМ
|
||||||
При клонировании из шаблона, ВМ создаются с теми же параметрами, что и сам шаблон. Выполнение этой задачи позволяет изменить параметры ВМ, например размер оперативной памяти, количество доступных процессоров и т.д.
|
При клонировании из шаблона, ВМ создаются с теми же параметрами, что и сам шаблон. Выполнение этой задачи позволяет изменить параметры ВМ, например размер оперативной памяти, количество доступных процессоров и т.д.
|
||||||
|
|
||||||
- Запуск ВМ
|
-Запуск ВМ
|
||||||
Финальным этапом будет запуск созданных ВМ
|
Финальным этапом будет запуск созданных ВМ
|
||||||
|
|
||||||
## Подключение к ВМ
|
## Подключение к ВМ
|
||||||
|
|
Loading…
Reference in New Issue