Go to file
artemdolgiy 561ab37b82 готово 2022-01-06 22:43:49 +03:00
ansible.cfg готово 2022-01-06 22:39:49 +03:00
create_template.sh готово 2022-01-06 22:39:49 +03:00
create_vm.yaml готово 2022-01-06 22:39:49 +03:00
hosts.ini готово 2022-01-06 22:39:49 +03:00
readme.md готово 2022-01-06 22:43:49 +03:00
vars.yaml готово 2022-01-06 22:39:49 +03:00
vms.yaml готово 2022-01-06 22:39:49 +03:00

readme.md

Автоматизация процесса создания ВМ в Proxmox с использованием Ansible

Этапы

Создание шаблона

ВМ создаются из существующего шаблона. При этом, необходимо, чтобы шаблон был с поддержкой cloudinit. Здесь возможны 2 варианта, создать такой шаблон самостоятельно или скачать готовый образ. Я подготовил скрипт, который скачивает официальный образ Ubuntu с поддержкой cloudinit и на основании этого образа создаётся шаблон.

Скрипт create_template.sh необходимо скопировать на хост Proxmox, добавить права на исполнение.

Стоит обратить внимание на объявленные в скрипте переменные:
скачиваемый образ и его URL

cloudimg=focal-server-cloudimg-amd64.img  # имя скачиваемого образа
img_url=https://cloud-images.ubuntu.com/focal/current  # адрес, по которому доступен образ

параметры создаваемого шаблона

vm_id=200  # идентификатор создаваемого шаблона
vm_name="ubuntu-2004-cloudinit-template"  # имя создаваемого шаблона
vm_memory=2048  # объем оперативной памяти выделяемый шаблону
vm_cores=2  # количество ядер процессора доступных шаблону
vm_user="da2001"  # имя пользвателя, который будет создан в шаблоне

переменные, относящиеся к гипервизору Proxmox

px_storage=local-lvm  # хранилище, в котором будет размещен диск шаблона
px_bridge=vmbr1  # имя сетевого интерфейса к которому будет подключен шаблон

необходимо изменить значения переменных на свои

Скрипт необходимо запустить от имени пользователя, который может создавать и редактировать ВМ (по-умолчанию это root). При запуске нужно придумать и указать пароль, который будет добавлен для авторизации пользователя, указанного в переменной vm_user

Пример запуска скрипта

root@pve:~#  ./create_template.sh verySecPassword

Результатом работы скрипта будет созданный шаблон, из которого с помощью ansible-playbook будут созданы ВМ

О файлах примерах

Во многих разделах идёт ссылка на файл пример из директории examples. Все файлы примеры написаны с использованием модуля debug и просто работают с параметрами или синтаксисом, показывая возможное применение и возможные ошибки. Запуск этих файлов-примеров не приводит к каким-либо изменениям на локальной или удалённой системе.