Документація
Proxmox VE
Proxmox — це інтеграція з гіпервізором. Вона створює віртуальні машини, клонуючи шаблон, стежить за завданням, поки воно виконується, і тримає панель у відповідності до того, що насправді повідомляє кластер.
Що вам потрібно
Для автоматизації Proxmox не використовує пароль. Ви створюєте API-токен: ідентифікатор із трьох частин плюс секрет, який показують один раз.
- Хост: повна базова URL-адреса API. Вона має бути HTTPS; якщо не вказати порт, підставиться 8006.
- Ідентифікатор токена: у вигляді user@realm!tokenname, точно так, як його пише Proxmox.
- Секрет токена: значення, яке Proxmox показує один раз під час створення токена.
- TLS-відбиток: відбиток сертифіката самого вузла, а не центру, який його видав.
openssl s_client -connect pve.example.com:8006 </dev/null 2>/dev/null | \
openssl x509 -noout -fingerprint -sha256Налаштування
Чотири несекретні налаштування на вкладці «Налаштування». Без них інтеграцію підключено, але вона нічого не може створити.
- Вузол: на якому вузлі кластера будувати. Панель пропонує ті вузли, які ваш агент справді бачив; якщо він ще не бачив жодного, вузол можна вписати вручну.
- Сховище: куди потрапляють диски нових машин.
- Міст: необовʼязково. Він зберігається і використовується там, де платформа створює машину з нуля, але клон успадковує міст того шаблону, з якого його склоновано.
- Діапазон ID машин: блок ID віртуальних машин Proxmox, у межах якого Provibr може виділяти ідентифікатори.
Діапазон — це межа безпеки
Це найважливіше налаштування на цій сторінці. Provibr виділяє ідентифікатори лише в межах заданого вами діапазону і ніколи не чіпає нічого поза ним. Тримайте власні робочі машини поза діапазоном, і вони залишаться недосяжними, хоч би що хтось натиснув у панелі.
Як створюється машина
Створення машини — це одне завдання клонування, після якого йде кілька викликів налаштування. Панель стежить за завданням і показує справжній поступ там, де Proxmox про нього повідомляє.
- Клонувати обраний вами шаблон на вузол із налаштувань.
- Збільшити завантажувальний диск до замовленого розміру. Диск може лише зростати; якщо шаблон уже більший, машина зберігає розмір шаблону.
- Застосувати ядра, памʼять і налаштування cloud-init (адресу, шлюз, DNS-сервери, користувача, SSH-ключі) одним викликом налаштування.
- Увімкнути фаєрвол і запустити машину.
Контейнери Linux
Зʼєднання з Proxmox несе віртуальні машини й контейнери. Тариф вирішує, що саме з двох дасть замовлення, і відтоді рід подорожує з кожною командою, а не вгадується. Контейнер — це не менша віртуальна машина: він поділяє ядро свого вузла, і саме тому він дешевий і саме тому жменьки речей там просто немає.
- Тариф каже: віртуальна машина, контейнер або будь-що з двох. За будь-чого з двох вибір робить клієнт під час замовлення, і перелік образів іде за тим вибором, а не підставляє щось мовчки.
- Контейнер не клонується, а розпаковується з шаблона контейнера на зʼєднанні. Це інший рід джерела, ніж шаблони, з яких клонують віртуальну машину, і образ, що має лише шаблон контейнера, у переліку віртуальних машин не зʼявляється.
- Unprivileged — це усталене значення. Корінь усередині контейнера не є коренем на вузлі, і саме цього ви й хочете, якщо тільки щось не вимагає прямо іншого.
- Сховище — це кореневий том плюс точки монтування. Панель показує їх як ключ, джерело й шлях усередині гостя; шлях на вузлі навмисне не показують, бо він каже більше про вузол, ніж про машину.
Кожна команда несе рід із собою, і команда, що не пасує, відхиляється ще до того, як стане завданням, із причиною на екрані. Дві з тих причин означають справді різне.
- Ніколи: запуск із мережі, порожня машина, а також мікропрограма чи порядок завантаження. Контейнер не запускається з мережевої карти й не має мікропрограми, яку можна було б спитати.
- Поки що ні: диски, мережеві карти й екран обладнання. Сховище й мережа в контейнера таки є, тільки в іншій подобі, а повторно вжити для них поля віртуальної машини означало б дати тим самим словам друге значення.
- Доступно: створення, запуск, зупинка, вимкнення, стан, вилучення, призупинення, відновлення, перевстановлення, мережевий екран і його захист від підроблених адрес.
- Консоль — окремий випадок, і це поки що ні з причиною: консоль віртуальної машини — це екран, а в контейнера його немає. Що в нього є, то це термінал, а це інший протокол та інший клієнт.
У резервних копіях є одна відмінність, у якій легко схибити, і працює вона точно навпаки до віртуальної машини. Точка монтування потрапляє в копію, лише якщо її для цього позначено; диск віртуальної машини потрапляє туди, доки його не знято з позначки. Отже, контейнер із томом даних, якого ніхто не позначив, має копію, що виглядає повною й містить лише кореневий том.
Перевстановити контейнер — це заміна, а не клон поверх. Панель спершу показує, що станеться з кожною точкою монтування, і лише потім замінює машину під одним замком: кореневий том відбудовується наново, а те, що значилося як збережене, повертається на місце. Того, чого в тому переліку не було, не відновлюють.
Cloud-init
Provibr записує сталий невеликий набір ключів cloud-init і нічого більше: чотири мережеві конфігурації, DNS-сервери та домен пошуку, користувача, тип конфігурації, SSH-ключі, пароль і те, чи оновлювати пакунки під час першого завантаження. Цей список існує з обох боків, тож поле, яке випадково називається cloud-init, ніколи не зможе переписати довільне налаштування машини.
Параметр оновлення пакунків під час першого завантаження потребує Proxmox 8.1 або новішого. На старішому вузлі виклик повторюється без нього, а не завершується помилкою.
Що можна робити потім
Запустити, зупинити, вимкнути, призупинити, відновити, оновити, перевстановити та видалити. Вимкнення спершу ввічливо просить гостя, а після вичерпання часу переходить до жорсткої зупинки.
Диски й мережеві карти можна додавати, змінювати їхній розмір, приєднувати та відʼєднувати. Диск може лише зростати. Завантажувальний диск і диск cloud-init відʼєднати не можна, як і першу мережеву карту.
У фаєрвола є редагований список правил і журнал; і те, і те читається з самого вузла та записується на нього.
Варто знати
- Клон успадковує мережевий міст свого шаблону. Міст у тарифі та в інтеграції зберігається і використовується в інших місцях, але до клона він не застосовується.
- Скільки місця зайнято всередині віртуальної машини, Proxmox не бачить, тож на цьому графіку показано виділений розмір і немає лінії використання. Решта вимірювань справжні.
- Шаблони не потрапляють в опитування і ніколи не зараховуються до вашої ліцензії.
- Машини, які є у вашому кластері, але яких немає в Provibr, ігноруються під час кожного опитування. Імпортувати їх із Proxmox теж не можна: імпорту для гіпервізорів сьогодні немає.