готово
parent
4def6da5f1
commit
10f7f2b7ea
|
@ -13,6 +13,7 @@ fi
|
||||||
|
|
||||||
# задаём необходимые переменные
|
# задаём необходимые переменные
|
||||||
cloudimg=focal-server-cloudimg-amd64.img
|
cloudimg=focal-server-cloudimg-amd64.img
|
||||||
|
img_url=https://cloud-images.ubuntu.com/focal/current
|
||||||
|
|
||||||
# параметры вм
|
# параметры вм
|
||||||
vm_id=200
|
vm_id=200
|
||||||
|
@ -29,7 +30,7 @@ px_bridge=vmbr1
|
||||||
if [ ! -f "$cloudimg" ]; then
|
if [ ! -f "$cloudimg" ]; then
|
||||||
echo "Файл $cloudimg не существует"
|
echo "Файл $cloudimg не существует"
|
||||||
echo Скачиваю образ Ubuntu Server 20.04 с поддержкой cloud-init
|
echo Скачиваю образ Ubuntu Server 20.04 с поддержкой cloud-init
|
||||||
wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img
|
wget $img_url/$cloudimg
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo Создаю ВМ
|
echo Создаю ВМ
|
||||||
|
|
58
readme.md
58
readme.md
|
@ -19,7 +19,18 @@
|
||||||
- [Благодарности](#Благодарности)
|
- [Благодарности](#Благодарности)
|
||||||
|
|
||||||
## Требования
|
## Требования
|
||||||
Для работы 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`.
|
||||||
|
Т.к. Ansible написан на Python, необходимые ему пакеты можно установить с помощью PIP.
|
||||||
|
Для установки PIP для Python 2 - `sudo apt install python-pip`
|
||||||
|
Для установки PIP для Python 3 (предпочтительнее) - `sudo apt install python3-pip`
|
||||||
|
|
||||||
|
Далее установим необходимые пакеты:
|
||||||
|
*в зависимости от способа установки Python и PIP, команда для установки пакетов может отличаться. В общем случае, команда выглядит так:*
|
||||||
|
```
|
||||||
|
pip install requests
|
||||||
|
pip install proxmoxer
|
||||||
|
```
|
||||||
|
|
||||||
## Создание шаблона
|
## Создание шаблона
|
||||||
|
|
||||||
|
@ -75,4 +86,47 @@ root@pve:~# ./create_template.sh verySecPassword
|
||||||
|
|
||||||
[⬆ Наверх](#содержание)
|
[⬆ Наверх](#содержание)
|
||||||
|
|
||||||
### Описание задач плейбука
|
### Описание переменных
|
||||||
|
Используемые в плейбуке переменные разделены на два файла: `vars.yaml`, `vms.yaml`. Это разделение сделано для удобства, чтобы отделить переменные виртуальных машин.
|
||||||
|
`vars.yaml`
|
||||||
|
```
|
||||||
|
pve_storage: local-lvm # название хранилища на котором будут созданы ВМ
|
||||||
|
api_host: 192.168.13.9 # IP адрес хоста Proxmox
|
||||||
|
api_user: root@pam # данные для авторизации по API
|
||||||
|
api_password: securePassword # пароль для авторизации
|
||||||
|
node: pve # имя ноды Proxmox
|
||||||
|
clone_vm: ubuntu-2004-cloudinit-template # имя шаблона из которого создаются ВМ
|
||||||
|
key_name: id_rsa.pub # имя SSH ключа, который будет скопирован в ВМ для дальнейшего доступа к ним
|
||||||
|
```
|
||||||
|
|
||||||
|
`vms.yaml`
|
||||||
|
```
|
||||||
|
vms:
|
||||||
|
us1:
|
||||||
|
name: us10.da2001.ru # имя создаваемой ВМ
|
||||||
|
ip: 192.168.10.21/24 # IP адрес ВМ
|
||||||
|
gw: 192.168.10.9 # IP адрес шлюза по-умолчанию, который будет прописан в ВМ (адрес гипервизора)
|
||||||
|
dns: 8.8.8.8 # IP адрес DNS сервера
|
||||||
|
vmid: 201 # идентификатор создаваемой ВМ
|
||||||
|
cores: 2 # количество доступных процессоров для ВМ, если отличается от указанных в шаблоне
|
||||||
|
sockets: 1 # количество доступных сокетов для ВМ, если отличается от указанных в шаблоне
|
||||||
|
memory: 2048 # количество доступной оперативной памяти для ВМ, если отличается от указанного значения в шаблоне
|
||||||
|
us2:
|
||||||
|
name: us11.da2001.ru
|
||||||
|
ip: 192.168.10.22/24
|
||||||
|
gw: 192.168.10.9
|
||||||
|
dns: 8.8.8.8
|
||||||
|
vmid: 202
|
||||||
|
cores: 2
|
||||||
|
sockets: 1
|
||||||
|
memory: 2048
|
||||||
|
```
|
||||||
|
|
||||||
|
**перед запуском плейбука необходимо убедиться, что установлены корректные значения**
|
||||||
|
|
||||||
|
[⬆ Наверх](#содержание)
|
||||||
|
|
||||||
|
### Задачи плейбука
|
||||||
|
|
||||||
|
|
||||||
|
[⬆ Наверх](#содержание)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
pve_storage: local-lvm
|
pve_storage: local-lvm
|
||||||
api_host: 192.168.13.9
|
api_host: 192.168.13.9
|
||||||
api_user: root@pam
|
api_user: root@pam
|
||||||
api_password: KatIrina1
|
api_password: securePassword
|
||||||
node: pve
|
node: pve
|
||||||
clone_vm: ubuntu-2004-cloudinit-template
|
clone_vm: ubuntu-2004-cloudinit-template
|
||||||
key_name: id_rsa.pub
|
key_name: id_rsa.pub
|
||||||
|
|
Loading…
Reference in New Issue