From 1350d1fc7404dc019cafc6f3705d63f079248969 Mon Sep 17 00:00:00 2001 From: artemdolgiy Date: Fri, 24 Dec 2021 15:26:56 +0300 Subject: [PATCH] init commit --- create_template.sh | 37 +++++++++++++++++++++++++++++++++++++ create_vm.yaml | 30 ++++++++++++++++++++++++++++++ hosts.ini | 2 ++ readme.md | 0 vars.yaml | 18 ++++++++++++++++++ 5 files changed, 87 insertions(+) create mode 100644 create_template.sh create mode 100644 create_vm.yaml create mode 100644 hosts.ini create mode 100644 readme.md create mode 100644 vars.yaml diff --git a/create_template.sh b/create_template.sh new file mode 100644 index 0000000..53e89cf --- /dev/null +++ b/create_template.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +# завершить выполнение, если некоторая команда, которая не является частью какого-либо теста (например, if [ ... ] или конструктора &&), возвращает ненулевой код +set -e + +# скачать образ 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 + +cloudimg=focal-server-cloudimg-amd64.img + +# параметры вм +vm_id=200 +vm_name="ubuntu-2004-cloudinit-template" +vm_memory=2048 +vm_cores=2 + +# данные proxmox +px_storage=local-lvm +px_bridge=vmbr0 + +echo Создаю ВМ +qm create $vm_id --name $vm_name --memory $vm_memory --cores $vm_cores --net0 virtio,bridge=$px_bridge +qm importdisk $vm_id $cloudimg $px_storage +qm set $vm_id --scsihw virtio-scsi-pci --scsi0 $px_storage:vm-$vm_id-disk-0 +qm set $vm_id --boot c --bootdisk scsi0 +qm set $vm_id --ide2 $px_storage:cloudinit +qm set $vm_id --serial0 socket --vga serial0 + +echo Конвертирую ВМ в шаблон +qm template $vm_id + +echo Удаляю ранее скачанный образ +rm focal-server-cloudimg-amd64.img + +echo Готово +exit 0 diff --git a/create_vm.yaml b/create_vm.yaml new file mode 100644 index 0000000..4c213d8 --- /dev/null +++ b/create_vm.yaml @@ -0,0 +1,30 @@ +--- +- name: Настройка окружения + hosts: proxmox + vars_files: + - vars.yml + tasks: + - name: Создание и настройка ВМ из шаблона + + block: + - name: Создание ВМ + community.general.proxmox_kvm: + api_user: "{{ pve_user }}" + api_password: "{{ pve_password }}" + api_host: pve + clone: "{{ pve_template_name }}" + vmid: "{{ pve_template_id }}" + newid: 152 + name: "{{ vm_name }}" + node: "{{ pve_node }}" + storage: "{{ pve_storage }}" + format: qcow2 + timeout: 500 + ciuser: "{{ vm_user }}" + cipassword: "{{ vm_passwd }}" + nameservers: '"{{ vm_dns }}"' + net: + net0: 'virtio,bridge="{{ vm_net_intf }}"' + ipconfig: + ipconfig0: 'ip="{{ vm_ip }}"/"{{ vm_mask }}",gw="{{ vm_gw }}"' + sshkeys: '"{{ ssh_key }}"' diff --git a/hosts.ini b/hosts.ini new file mode 100644 index 0000000..08a8824 --- /dev/null +++ b/hosts.ini @@ -0,0 +1,2 @@ +[proxmox] +pve ansible_host=192.168.13.9 diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..e69de29 diff --git a/vars.yaml b/vars.yaml new file mode 100644 index 0000000..415123a --- /dev/null +++ b/vars.yaml @@ -0,0 +1,18 @@ +pve_node: pve +pve_user: root@pam +pve_password: KatIrina1 +pve_template_name: ubuntu-2004-cloudinit-template +pve_template_id: 200 +pve_storage: local-lvm + +vm_name: test_serv_1 +vm_id: 201 +vm_user: da2001 +vm_passwd: 131181 +vm_ip: 192.168.13.201 +vm_mask: 24 +vm_gw: 192.168.13.1 +vm_dns: 192.168.13.1 +vm_net_intf: vmbr0 + +ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyeWFbxRchbB7Z3Z+iKyWHww+TuJqREzMIlreZmqFVYKAnNaWnkpsG9SHeAkJgDcT/BTeksaUTol+hx26iKX1ZduLgif+Rq0IX2Mog1E2FxAqzmqHaSxVLNB5ni83bC4v+kWwEDRaTTNcgbnMwGFxTMC/vQLWjkNvHF5y6pdyTqw+kX046bf3MjVmDbj6Ueeg/c/8pqfkt+pg0lCPz7ZyMf3Jqf6uiIYxp+lPyWilTjsY8SLrk2Huxn9Qb0H26i5lM0nQaC2oatgxPaPyqkISH+uROKbQZ7CF6RBfpjiYSyRA6JdNsBqB0ZAZG0oAuwKOqk4bWYMAGslZsIbG91TGqPUroWTwhtsiaaFKNjf6QpROZfUqdY2ahNF5QEIXX2JFE61kOQzUcs4eCzcDAAUTCYmgcPhjQNYOc5G5KKeedMdx4a1S3mxf2UfLDPpM7RM2+XpbSQi6o7RZtPbjC9hKqTAk42q3jl71HqLlUEnrLlJgcGrSAKtVU43LqYkGdae8= da2001@da-metrotek