Контейнери в ProxMox

Контейнера за разлика от виртуалната машина представлява процес в ProxMox, a не отделна операционна система. Вярно изолиран процес но ползва ядрото на ProxMox. Ако сте запознати с Docker контейнерите тук вместо комуникация през портове се ползват IP адреси (мрежова структура). Ще ползваме готови темплейти (шаблони). Но за начало да ги обновим.

00-1

Влизаме в нода pve и използвате Shell-a.

pveam update update successful

Шаблоните трябва вече да са обновени и ако има нови ще са добавени. Да проверим:

pveam available

Появяват се много шаблони

01

Избираме локалния пул. След това избираме CT Templates (темплейти на контейнерите). Натискаме бутона Templates.

02

Появяват се множество темплейти. Това са готови решения. Примерно има за MySQL, nextcloud и т.н. Ние ще ползваме този за Ubuntu.

03

Можете от Search лентата да филтрирате това което търсите. Натискаме бутона Download за да смъкнем темплейта.

04

Темплейта започва да се смъква.

05

Темплейта е смъкнат и записан в /var/lib/pve/local-btrfs/template/cache/ubuntu-24.04-standard_24.04-2_amd64.tar.zst

06

Вижда се смъкнатия темплейт. Между другото по-правилно е да се нарича шаблон, а не темплейт. Но чуждиците толкова много са навлезли, че понякога и аз ги използвам без да се замислям. Ако се чудите защо физически шаблона се записа в /var/lib/pve/local-btrfs/template/cache/?

07

Продължаваме с изграждането на контейнера. Процеса на изграждане на контейнер и виртуална машина много си приличат.

08

Създаваме контейнер.

09

Казваме, че ще е на нод pve. Даваме му идентификационен номе 110. Даваме име на хоста ubuntu.local. Unprivileged container казва как да се запусне контейнера. Ако е избран то тогава процеса се пуска от root. Добра практика е тази отметка да я няма защото root има пълни права и това е дупка за хакване. В случая защото е демо ще оставим отметката. Resource Pool, за сега нямаме изграден. Password, парола за достъп до контейнера. SSH public key ако имате публичен ключ за достъп до контейнера през SSH. Next за продължение.

10

Казваме, че ще вземем шаблона от lical-btrfs и той ще е ubuntu-24.04-2...... Next за продължение.

11

Казваме къде ще запазим контейнера. Ще е на zpool01 и ще заделим 33GB място за създаването му. Next за продължение.

12

Ще заделим 2 ядра за контейнера. Next за продължение.

13

Заделяме 2GB оперативна памет за контейнера и 512МВ за свап файл. Next за продължение.

14

eth0 дефинираме как да се казва мрежовия интерфейс на контейнера. vmbr0 казваме към кой мрежови интерфейс на ProxMox eth0 ще изгради бридж. През този бридж контейнера ще излезе в мрежата. DHCP казваме контейнера ще вземе адрес през DHCP. Ако ползвахме Static трябваше да укажем IP адрес за достъп до контейнера. DHCP е върху бриджа vmbr0. Ако имате VLAN то трябва и той да се дефинира. Firewall ако е избран то правилата на защитната стена на нода ще се наложат и тук. За сега няма да ползваме. Next за продължение.

15

За DNS предлага да се ползва настройките на хоста. Ние обаче ще използваме други.

16

Ползваме публични DNS сървъри. Next за продължение. Между другото темата е много обширна. Ако контейнера ще се ползва на друга виртуална машина в публичното пространство то дефинирането на DNS-a е много важно нещо. За сега обаче няма да се задълбаваме в темата.

17

Оглеждаме дали всичко сме направили правилно и Finish за край.

18

Контейнера се разопакова в /var/lib/pve/local-btrfs/template/cache/ubuntu-24.04-standard_24.04-2_amd64.tar.zst. Сега да пуснем контейнера.

19
20

Контейнера е пуснат. Забележете колко малко ресурс заема. На практика се стартира Ubuntu с минимални неща е него.

21

И да вдим в конзолата какво се появява. Влизаме като root и слагаме паролата която сложихме за контейнера.

22

Вътре сме в контейнера. Имаме работоспособно Ubuntu.

23

Да видим какво IP е раздало DHCP-то на контейнера. На практика все едно сме изградили виртуална машина която взема много малко ресурс. В контейнера може да инсталирате това което Ви е необходимо и да си я настройвате според нуждите.