Провизионинг Fedora CoreOS в Proxmox VE
Предварительные требования
Прежде чем провизионировать машину FCOS в Proxmox VE, у вас должен быть файл конфигурации Ignition, содержащий ваши настройки. Если у вас его нет, см. Producing an Ignition File.
Вам также необходим доступ к кластеру или автономному серверу Proxmox Virtual Environment (VE) с административными привилегиями для создания виртуальных машин и настроек хранилища. Все команды будут выполняться от имени пользователя root на хосте Proxmox VE.
Настройка хранилища Proxmox VE
Прежде чем провизионировать виртуальные машины Fedora CoreOS, вам нужно создать выделенное место хранения для образов FCOS и фрагментов конфигурации Ignition.
Создание каталога хранилища
Сначала создайте структуру каталогов для ресурсов Fedora CoreOS:
mkdir -p /var/coreos
Добавление хранилища в Proxmox VE
Добавьте новый каталог как место хранения Proxmox VE, которое может содержать как образы виртуальных машин, так и фрагменты конфигурации:
pvesm add dir coreos --path /var/coreos --content images,snippets
Эта команда создаёт новое место хранения с именем coreos, которое Proxmox VE может использовать для хранения образов дисков и фрагментов конфигурации (включая файлы Ignition). Для получения более подробной информации о настройке хранилища Proxmox VE см. документацию по хранилищу Proxmox VE.
Загрузка образов Fedora CoreOS
Fedora CoreOS предоставляет предварительно собранные образы, специально оптимизированные для Proxmox VE. Вы можете загрузить эти образы с помощью либо двоичного файла coreos-installer, либо через контейнер.
Получение образа QCOW2
Получите последний образ, подходящий для вашего целевого потока (или загрузите и проверьте его из Интернета).
STREAM="stable"
# as an installed binary:
coreos-installer download -s $STREAM -p proxmoxve -f qcow2.xz --decompress -C /var/coreos
# or as a container:
podman run --pull=always --rm -v "/var/coreos/images:/data" -w /data \
quay.io/coreos/coreos-installer:release download -s $STREAM -p proxmoxve -f qcow2.xz --decompress
Оба метода загрузят последний образ Fedora CoreOS для указанного потока (stable, testing или next) в формате QCOW2, оптимизированный для Proxmox VE. Он сохранит образ в каталоге /var/coreos/images.
Подготовка конфигурации Ignition
Загрузите ваш файл конфигурации Ignition в каталог snippets:
# Upload your ignition to /var/coreos/config.ign
scp /path/to/your/config.ign root@proxmoxve-host:/var/coreos/snippets/config.ign
Настройка новой виртуальной машины
В следующем примере демонстрируется создание и настройка виртуальной машины Fedora CoreOS с помощью инструментов командной строки Proxmox VE.
Установка переменных конфигурации
Определите параметры виртуальной машины:
VM_ID=101
NAME=fedora-coreos
QCOW=fedora-coreos-{stable-version}-proxmoxve.x86_64.qcow2
IGN=config.ign
STORAGE=local-lvm
CPU=2
MEMORY=2048
DISK_SIZE=90G
Настройте эти переменные в соответствии с вашими требованиями:
-
VM_ID: уникальный идентификатор виртуальной машины в Proxmox VE -
NAME: имя виртуальной машины -
QCOW: имя файла загруженного образа FCOS -
IGN: имя файла вашей конфигурации Ignition -
STORAGE: целевой пул хранения для диска виртуальной машины -
CPU: количество ядер ЦП для выделения -
MEMORY: выделение ОЗУ в МБ -
DISK_SIZE: дополнительное дисковое пространство для выделения
Создание и настройка виртуальной машины
Создайте виртуальную машину с указанной конфигурацией:
# Create the initial VM configuration
qm create ${VM_ID} --name ${NAME} --cores ${CPU} --memory ${MEMORY} \
--net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci
# Import the FCOS image as the primary disk
qm set ${VM_ID} --scsi0 "${STORAGE}:0,import-from=/var/coreos/images/${QCOW}"
# Resize the disk to provide additional space
qm resize ${VM_ID} scsi0 +${DISK_SIZE}
# Add cloud-init drive for configuration delivery
qm set ${VM_ID} --ide2 ${STORAGE}:cloudinit
# Set boot order to use the imported disk
qm set ${VM_ID} --boot order=scsi0
# Configure serial console for better compatibility
qm set ${VM_ID} --serial0 socket --vga serial0
# Configure Ignition file delivery via cloud-init
qm set ${VM_ID} --cicustom vendor=coreos:snippets/${IGN}
# Disable automatic upgrades during provisioning
qm set ${VM_ID} --ciupgrade 0
Настройка сети
Настройка DHCP
Приведённое выше базовое создание виртуальной машины использует DHCP для настройки сети, что подходит для большинства сред, где допустимо динамическое назначение IP-адресов.
Настройка статического IP
Для сред, требующих статических IP-адресов, настройте параметры сети:
# For static IP address
IP="192.168.1.100"
IP_CIDR="${IP}/24"
GATEWAY="192.168.1.1"
qm set ${VM_ID} --ipconfig0 ip=${IP_CIDR},gw=${GATEWAY}
Замените IP-адреса значениями, подходящими для вашей конфигурации сети.
Загрузка и доступ к виртуальной машине
Запуск виртуальной машины
Запустите виртуальную машину и получите доступ к её консоли:
# Start and wait for the VM to start
qm start ${VM_ID}
Изучение ОС
Вы можете войти в виртуальную машину с хоста с помощью следующей команды:
# Access the VM console from the host
qm terminal ${VM_ID}
Если вы настроили ключ SSH для пользователя core по умолчанию, вы можете войти в виртуальную машину по SSH через IP-адрес:
ssh core@<ip address>
Очистка
Для целей тестирования вы можете легко очистить виртуальную машину:
# Stop the VM
qm stop ${VM_ID}
# Remove the VM and its associated storage
qm destroy ${VM_ID}
Ссылки
-
Рассмотрите использование встроенной функциональности резервного копирования Proxmox VE для важных виртуальных машин
-
Отслеживайте производительность виртуальной машины и использование ресурсов с помощью инструментов мониторинга Proxmox VE
Want to help? Learn how to contribute to Fedora Docs ›