add ansible role

This commit is contained in:
2023-08-09 11:51:39 +03:00
parent 58e00cd820
commit 1426db5f82
18 changed files with 495 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
---
- name: Серверы - Клонирование ВМ из шаблона
community.general.proxmox_kvm:
node: "{{ node }}"
name: "{{ item.value.name }}"
newid: "{{ item.value.vmid }}"
api_user: "{{ api_user }}"
api_password: "{{ api_password }}"
api_host: "{{ api_host }}"
clone: "{{ server_template }}"
storage: "{{ pve_storage }}"
format: qcow2
timeout: 500
loop: "{{ lookup('dict', server_vms) }}"
- name: Серверы - Настройка IP адресов
command: "qm set {{ item.value.vmid }} --ipconfig0 gw={{ item.value.gw }},ip={{ item.value.ip }}"
loop: "{{ lookup('dict', server_vms) }}"
- name: Серверы - Настройка DNS
command: "qm set {{ item.value.vmid }} --nameserver {{ item.value.dns }}"
loop: "{{ lookup('dict', server_vms) }}"
- name: Серверы - Создание пользователя root
command: "qm set {{ item.value.vmid }} --ciuser {{ vm_user }}"
loop: "{{ lookup('dict', server_vms) }}"
- name: Серверы - Создание пароля пользователя root
command: "qm set {{ item.value.vmid }} --cipassword {{ vm_password }}"
loop: "{{ lookup('dict', server_vms) }}"
- name: Серверы - Копирование SSH ключей в ВМ
command: "qm set {{ item.value.vmid }} --sshkey {{ key_name }}"
args:
chdir: ~/.ssh
loop: "{{ lookup('dict', server_vms) }}"
- name: Серверы - Обновление параметров ВМ
community.general.proxmox_kvm:
api_host: "{{ api_host }}"
api_user: "{{ api_user }}"
api_password: "{{ api_password }}"
cores: "{{ item.value.cores }}"
sockets: "{{ item.value.sockets }}"
memory: "{{ item.value.memory }}"
update: true
vmid: "{{ item.value.vmid }}"
node: "{{ node }}"
name: "{{ item.value.name }}"
loop: "{{ lookup('dict', server_vms) }}"
- name: Серверы - Запуск ВМ
community.general.proxmox_kvm:
api_host: "{{ api_host }}"
api_password: "{{ api_password }}"
api_user: "{{ api_user }}"
vmid: "{{ item.value.vmid }}"
node: "{{ node }}"
state: started
loop: "{{ lookup('dict', server_vms) }}"

View File

@@ -0,0 +1,61 @@
---
- name: Рабочая станция - Клонирование ВМ из шаблона
community.general.proxmox_kvm:
node: "{{ node }}"
name: "{{ item.value.name }}"
newid: "{{ item.value.vmid }}"
api_user: "{{ api_user }}"
api_password: "{{ api_password }}"
api_host: "{{ api_host }}"
clone: "{{ server_template }}"
storage: "{{ pve_storage }}"
format: qcow2
timeout: 500
loop: "{{ lookup('dict', ws_vms) }}"
- name: Рабочая станция - Настройка IP адресов
command: "qm set {{ item.value.vmid }} --ipconfig0 gw={{ item.value.gw }},ip={{ item.value.ip }}"
loop: "{{ lookup('dict', server_vms) }}"
- name: Рабочая станция - Настройка DNS
command: "qm set {{ item.value.vmid }} --nameserver {{ item.value.dns }}"
loop: "{{ lookup('dict', ws_vms) }}"
- name: Рабочая станция - Создание пользователя root
command: "qm set {{ item.value.vmid }} --ciuser {{ vm_user }}"
loop: "{{ lookup('dict', ws_vms) }}"
- name: Рабочая станция - Создание пароля пользователя root
command: "qm set {{ item.value.vmid }} --cipassword {{ vm_password }}"
loop: "{{ lookup('dict', ws_vms) }}"
- name: Рабочая станция - Копирование SSH ключей в ВМ
command: "qm set {{ item.value.vmid }} --sshkey {{ key_name }}"
args:
chdir: ~/.ssh
loop: "{{ lookup('dict', ws_vms) }}"
- name: Рабочая станция - Обновление параметров ВМ
community.general.proxmox_kvm:
api_host: "{{ api_host }}"
api_user: "{{ api_user }}"
api_password: "{{ api_password }}"
cores: "{{ item.value.cores }}"
sockets: "{{ item.value.sockets }}"
memory: "{{ item.value.memory }}"
update: true
vmid: "{{ item.value.vmid }}"
node: "{{ node }}"
name: "{{ item.value.name }}"
loop: "{{ lookup('dict', ws_vms) }}"
- name: Рабочая станция - Запуск ВМ
community.general.proxmox_kvm:
api_host: "{{ api_host }}"
api_password: "{{ api_password }}"
api_user: "{{ api_user }}"
vmid: "{{ item.value.vmid }}"
node: "{{ node }}"
state: started
loop: "{{ lookup('dict', ws_vms) }}"

View File

@@ -0,0 +1,7 @@
---
- name: Создание серверной группировки
include_tasks: tasks/deploy_servers.yml
- name: Создание клиентских рабочих станций
include_tasks: tasks/deploy_ws.yml