Системный Администратор (Сисадмин) sysadmin серверы сети Linux Windows IT инфраструктура администрирование серверов системное администрирование настройка серверов безопасность мониторинг поддержка IT

@sysadminof
Фото 🏗 KVM + Terraform: Поднимаем виртуалки как код Мы научились управлять KVM через virsh, но если вам нужно поднять 10 одинаковых серверов для тестов, а потом удалить их одной командой - ручной ввод утомляет. На сцену выходит Terraform. Обычно его ассоциируют с облаками (AWS, Azure), но он прекрасно работает и с «железным» гипервизором через провайдер libvirt. 🛠 Что нам понадобится? 1. Установленный Terraform. 2. Плагин-провайдер dmacvicar/libvirt (стандарт де-факто для KVM). 3. Образ системы (Cloud Image), например, Ubuntu Cloud. 📄 Пишем рецепт (main.tf) Создайте папку, положите туда файл main.tf и опишите желаемое состояние: terraform { required_providers { libvirt = { source = "dmacvicar/libvirt" } } } # 1. Подключаемся к локальному KVM provider "libvirt" { uri = "qemu:///system" } # 2. Скачиваем образ диска (или берем локальный) resource "libvirt_volume" "ubuntu_base" { name = "ubuntu-base.qcow2" pool = "default" # Ссылка на официальный Cloud-образ source = "https://cloud-images.ubuntu.com/minimal/releases/jammy/release/ubuntu-22.04-minimal-cloudimg-amd64.img" format = "qcow2" } # 3. Описываем Виртуальную Машину resource "libvirt_domain" "my_web_server" { name = "terraform-vm-01" memory = "1024" vcpu = 1 network_interface { network_name = "default" # NAT сеть libvirt } disk { volume_id = libvirt_volume.ubuntu_base.id } console { type = "pty" target_port = "0" target_type = "serial" } graphics { type = "spice" listen_type = "address" autoport = true } } 🚀 Запускаем магию В терминале переходим в папку с файлом и выполняем три команды: 1. terraform init - Скачает провайдер libvirt. 2. terraform plan - Покажет, что именно он собирается создать (DRY RUN). 3. terraform apply - Boom! Скачивается образ, создается диск, запускается VM. 🤔 А как удалить? Не нужно вспоминать имена машин и удалять диски вручную. Просто введите: terraform destroy И Terraform аккуратно зачистит за собой всё, что создал. 💡 Почему это круто? 🔸 Воспроизводимость: Вы можете отправить этот файл коллеге, и он поднимет точно такую же среду. 🔸 Git: Вы храните конфигурацию инфраструктуры в репозитории. Видна история изменений. 🔸 Cloud-Init: В Terraform можно добавить конфигурацию cloud-init (создать пользователя, добавить SSH-ключ, установить пакеты при первом старте), чтобы получить полностью готовый сервер, в который даже не нужно заходить. #sysadmin #devops #terraform #kvm #iac #automation 👉 @sysadminof
Если у вас установлено приложение,
вы можете сразу перейти в канал