Incus¶
Այս հոդվածում
- Incus. Հիմնական հնարավորություններ
- Տեղակայման հնարավորություններ
- Սկսել Incus-ի տեղակայումից հետո
- Սկզբնական ինֆրակառուցվածքի կարգավորում
- Կոնտեյներների ստեղծում և կառավարում
- Կոնտեյների կոնֆիգուրացիայի կառավարում
- Աշխատանք սնապշոտների և միգրացիայի հետ
- Պատկերների կառավարում
- Ցանցային փոխազդեցություն
- Պահեստավորման կառավարում
- NAT և ռուտինգի կոնֆիգուրացիա
- Incus-ով սերվերի պատվեր API-ի միջոցով
Տեղեկատվություն
Incus-ը բաց կոդով համակարգային կոնտեյներների և վիրտուալ մեքենաների կառավարիչ է: Այն LXD-ի fork-ն է և առաջարկում է պարզ, սակայն հզոր գործիք Linux կոնտեյներները և վիրտուալ մեքենաները միասնական հարթակի վրա կառավարելու համար:
Incus. Հիմնական հնարավորություններ¶
- Կոնտեյներների և VM-ների կառավարում. Incus-ը թույլ է տալիս աշխատեցնել Linux համակարգային կոնտեյներներ և ամբողջական QEMU/KVM վիրտուալ մեքենաներ մեկ ինտերֆեյսի միջոցով:
- Գործընթացների մեկուսացում. Կոնտեյներները աշխատում են մեկուսացված միջավայրում՝ սեփական ֆայլային համակարգերով, ցանցային ինտերֆեյսներով և գործընթացներով:
- Ցանցային հնարավորություններ. Ներկառուցված աջակցություն տարբեր տեսակի ցանցերի համար՝ բրիջեր, NAT, VLAN-ներ, կոնտեյներների համար overlay ցանցեր:
- Պահեստավորման կառավարում. Գրաֆիկական պահեստավորման ճկուն համակարգ, որը աջակցում է տարբեր backend-ների՝ dir, btrfs, ZFS, LVM:
- Սնապշոտներ և միգրացիա. Կոնտեյների վիճակի սնապշոտների ստեղծում, հյուրընկալողների միջև live միգրացիա՝ ծառայությունները կանգնեցնելու առանց:
- Կոնֆիգուրացիոն պրոֆիլներ. Կրկնակի օգտագործման պրոֆիլներ կոնտեյներների արագ տեղակայման համար նախապես սահմանված պարամետրերով:
- Ռեսուրսների սահմանափակում. CPU, հիշողության, սկավառակի I/O և ցանցային թողունակության ճշգրիտ վերահսկողություն յուրաքանչյուր կոնտեյների համար:
- REST API. Լիարժեք HTTP API ավտոմատացման և արտաքին համակարգերի հետ ինտեգրման համար:
- Վեբ ինտերֆեյս. Ներկառուցված վեբ կառավարման վահանակ ինֆրակառուցվածքի վիզուալ վերահսկողության համար:
- Պատկերների գրադարան. Տարբեր Linux դիստրոբյուտիվների պատրաստի պատկերների ընդարձակ հավաքածուի հասանելիություն:
- Կլաստերավորում. Տարբեր հյուրընկալողները միավորելու հնարավորություն մեկ կլաստերի մեջ՝ բաշխված կառավարման համար:
Տեղակայման հնարավորություններ¶
| ID | Ծրագրային ապահովման անվանում | Համատեղելի ՕՀ | VM | BM | VGPU | GPU | Նվազագույն CPU (միջուկներ) | Նվազագույն RAM (ԳԲ) | Նվազագույն HDD/SSD (ԳԲ) | Սեփական դոմեն | Ակտիվ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 234 | Linux Containers Incus | Debian 13 | + | + | + | + | 2 | 2 | 50 | Ոչ | ՊԱՏՎԻՐԵԼ |
Incus-ի հիմնական ուղիներ և ֆայլեր.
- Հիմնական կոնֆիգուրացիոն ֆայլ.
/etc/default/incus - Տվյալների թղթապանակ.
/var/lib/incus - Պահեստավորման pool-ներ.
/var/lib/incus/storage-pools/ - Կոնտեյներներ.
/var/lib/incus/containers/ - Պատկերներ.
/var/lib/incus/images/ - Լոգ ֆայլ.
/var/log/incus/incusd.log - Համակարգային ծառայություններ.
/usr/lib/systemd/system/incus*.service - Sysctl կոնֆիգուրացիա.
/etc/sysctl.d/50-incus.conf - Օգտատերի կոնֆիգուրացիա.
/root/.config/incus/
Նշում
Եթե այլ կերպ նշված չէ, մենք ըստ լռելյայնի տեղադրում ենք ծրագրի վերջին թողարկման տարբերակը՝ զարգացնողի կայքից կամ օպերացիոն համակարգի պահոցներից:
Սկսել Incus-ի տեղակայումից հետո¶
Վճարումից հետո գրանցման ժամանակ նշված հասցեին կուղարկվի էլ. փոստի ծանուցում, որը հայտնում է, որ սերվերը պատրաստ է աշխատելու: Այն կներառի VPS IP հասցեն և մուտքի հավատարմագրերը: Մեր ընկերության հաճախորդները սարքավորումները կառավարում են Սերվերի կառավարման վահանակի և API միջոցով — Invapi:
Հաստատման տվյալները կարելի է գտնել կամ սերվերի կառավարման վահանակի Configuration >> Tags թերթիկում, կամ ուղարկված էլ. փոստում.
- Incus վեբ ինտերֆեյսին մուտքի հղում. webpanel թեգում (8443 պորտ, HTTPS)
Կարևոր
Վեբ ինտերֆեյսին մուտք գործելու համար անհրաժեշտ է օգտագործել HTTPS և ընդունել ինքնագրված սերտիֆիկատը ձեր բրաուզերում:
Երբ առաջին անգամ մուտք եք գործում Incus վեբ ինտերֆեյս, բրաուզերը զգուշացնում է անվտանգ կապի մասին՝ ինքնագրված սերտիֆիկատի պատճառով: Շարունակելու համար անհրաժեշտ է ընդունել սերտիֆիկատը.

Սերտիֆիկատը ընդունելուց հետո բացվում է մուտքի էջը: Սեղմեք Login with TLS կոճակը՝ հաստատման գործընթացը սկսելու համար.

Համակարգը կուղղորդի ձեզ գոյություն ունեցող սերտիֆիկատ ավելացնելու էջ.

Ընտրեք Trust token թերթիկը և հետևեք հրահանգներին.
-
Սերվերի տերմինալում կատարեք հրամանը՝ թոքեն ստեղծելու համար.
-
Համակարգը կստեղծի թոքեն, որը անհրաժեշտ է պատճենել.

-
Տեղադրեք ստացված թոքենը համապատասխան տեքստային դաշտում հաստատման էջում և սեղմեք
Import:
Հաջող հաստատումից հետո կբացվի հիմնական վեբ ինտերֆեյսի էջը՝ օրինակների ցանկով:
Նոր կոնտեյների ստեղծում վեբ ինտերֆեյսի միջոցով¶
Նոր կոնտեյներ ստեղծելու համար սեղմեք Create instance կոճակը ինտերֆեյսի վերին աջ անկյունում.

Բացվում է օրինակի ստեղծման ձևը՝ մի քանի կոնֆիգուրացիոն բաժիններով: Հիմնական պատկեր ընտրելու համար սեղմեք Browse images կոճակը: Բացվում է պատկերի ընտրության պատուհանը՝ դիստրոբյուտիվի, թողարկման, տարբերակի, ճարտարապետության և տեսակի ըստ ֆիլտրերով.

Հասանելի են հետևյալ կոնֆիգուրացիոն բաժինները.
- Main configuration — կոնտեյների հիմնական պարամետրեր. անուն, նկարագրություն, օրինակի տեսակ (կոնտեյներ կամ վիրտուալ մեքենա), հիմնական պատկեր և վերագրված պրոֆիլներ;
- Devices — կոնտեյների սարքերի կառավարում.
- Disk — սկավառակի սարքի և մոնտաժման կետի կոնֆիգուրացիա;
- Network — ցանցային ինտերֆեյսի կոնֆիգուրացիա;
- GPU — գրաֆիկական արագացուցիչների միացում;
- Proxy — պորտի փոխանցման կոնֆիգուրացիա հյուրընկալողի և կոնտեյների միջև;
- Other — լրացուցիչ սարքերի տեսակներ;
- Resource limits — ռեսուրսների սահմանափակում. պրոցեսոր (CPU), RAM, սկավառակի I/O գործողություններ;
- Security policies — անվտանգության քաղաքականություններ. մեկուսացման կոնֆիգուրացիա, լիազորություններ և անվտանգության պրոֆիլներ (AppArmor, SELinux);
- Snapshots — կոնտեյների վիճակի սնապշոտների կառավարում պահպանման և վերականգնման համար;
- Migration — կոնտեյների միգրացիայի պարամետրեր հյուրընկալողների միջև;
- Boot — boot կարգավորումներ. boot սարքերի հերթականություն, ավտոմատ միացում համակարգի միացման ժամանակ;
- Cloud init — կոնտեյների ավտոմատ ինիցիալիզացիայի կոնֆիգուրացիա cloud-init-ի միջոցով (օգտատերեր, ցանց, փաթեթներ, սկրիպտներ):
Ընտրեք ցանկալի պատկերը՝ սեղմելով դրա կողքին գտնվող Select կոճակը.

Պատկերը ընտրելուց հետո լրացրեք հիմնական պարամետրերը.

- Instance name — կոնտեյների անուն;
- Description — նկարագրություն (ըստ ցանկության);
- Instance type — օրինակի տեսակ (Container կամ Virtual Machine);
- Profiles — կոնֆիգուրացիոն պրոֆիլներ:
Կոնտեյները անմիջապես սկսելու համար ստեղծումից հետո սեղմեք Create and start: Ստեղծելու համար՝ առանց միացնելու, օգտագործեք Create կոճակը:
Կոնտեյների կարգավիճակի մոնիտորինգ¶
Կոնտեյների տեղակայման ընթացքում ցուցադրվում է պատկերի ներբեռնման ընթացքը: "Setting up" կարգավիճակը՝ ներբեռնման ընթացքի ցուցմունքով, ցույց է տալիս օրինակի ստեղծման ընթացիկ ընթացքը: Ինստալյացիան ավարտելուց հետո կարգավիճակը կփոխվի "Running"-ի՝ կանաչ ցուցիչով.

Ծառայության կառավարում¶
Կարգավիճակի ստուգում.
Ծառայության վերագործարկում.
Ծառայության կանգնեցում.
Ծառայության միացում.
Լոգերի դիտում.
Սկզբնական ինֆրակառուցվածքի կարգավորում¶
Սերվերի տեղակայումից հետո խորհուրդ է տրվում կատարել Incus ինֆրակառուցվածքի սկզբնական կարգավորում:
Պահեստավորման pool-ի ստեղծում¶
Պահեստավորման pool-ը սահմանում է, որտեղ կպահպանվեն կոնտեյների տվյալները.
Ստեղծված պահեստավորման pool-երի ստուգում.
Pool-ի մասին մանրամասն տեղեկատվություն դիտելու համար.
Ցանցի կոնֆիգուրացիա¶
Կոնտեյներների համար NAT բրիջի ստեղծում՝ ավտոմատ IPv4 հասցեավորմամբ.
Ցանցային կարգավորումների ստուգում.
Ցանցային կոնֆիգուրացիայի դիտում.
Լռելյայն պրոֆիլի կոնֆիգուրացիա¶
default պրոֆիլը սահմանում է նոր կոնտեյներների հիմնական կոնֆիգուրացիան: Պրոֆիլին root սկավառակ ավելացնել.
Պրոֆիլին ցանցային ինտերֆեյս ավելացնել.
Պրոֆիլի կոնֆիգուրացիայի ստուգում.
Կոնտեյներների ստեղծում և կառավարում¶
Կոնտեյների ստեղծում¶
Debian 12 կոնտեյների ստեղծման օրինակ՝ ռեսուրսների սահմանափակումներով.
Հրամանի պարամետրեր.
images:debian/12- պատկեր հանրային պահոցիցdeb12- կոնտեյների անուն--profile default- լռելյայն պրոֆիլի օգտագործում-c limits.cpu=2- սահմանափակում 2 CPU կորիսների-c limits.memory=2GiB- հիշողության սահմանափակում 2 GB
Կոնտեյներների դիտում¶
Բոլոր օրինակների ցանկ.
Արդյունքը կներառի տեղեկատվություն յուրաքանչյուր կոնտեյների կարգավիճակի, IP հասցեների և տեսակի մասին:
Կոնտեյների վիճակի կառավարում¶
Կոնտեյների միացում.
Կոնտեյների կանգնեցում.
Կոնտեյների վերագործարկում.
Կոնտեյների ջնջում (պահանջում է կանգնեցում).
Աշխատող կոնտեյների ստիպողական ջնջում.
Կոնտեյնի մուտք¶
Միացում bash-ի միջոցով.
Միացում TTY կոնսոլին.
Կոնսոլից դուրս գալու համար օգտագործեք Ctrl+a q ստեղնակցությունը:
Պորտի փոխանցում¶
Կոնտեյների ներսում գտնվող ծառայություններին արտաքին ցանցից մուտք գործելու համար օգտագործվում է պորտի փոխանցումը՝ պրոքսի սարքի միջոցով.
Այս հրամանը փոխանցում է հյուրընկալողի 8080 պորտը կոնտեյների 80 պորտին:
Օրինակ՝ մի քանի պորտերի համար.
HTTP.
HTTPS.
SSH.
Կոնտեյների կոնֆիգուրացիայի կառավարում¶
Կոնֆիգուրացիայի դիտում¶
Կոնտեյների լիակատար ընդլայնված կոնֆիգուրացիայի դիտում.
Հիմնական կոնֆիգուրացիայի դիտում՝ առանց պրոֆիլների.
Պարամետրերի փոփոխություն¶
Կոնֆիգուրացիոն պարամետրերի սահմանում.
CPU սահմանափակում.
Հիշողության սահմանափակում.
Սկավառակի I/O սահմանափակում.
Կոնտեյների ավտոմատ միացում.
Սարքերի ավելացում¶
Սարքեր ավելացնելու ընդհանուր սինտաքսիս.
Օրինակներ.
Լրացուցիչ սկավառակի ավելացում.
Լրացուցիչ ցանցային ինտերֆեյսի ավելացում.
Հյուրընկալողի թղթապանակի մոնտաժում կոնտեյնում.
Սարքի հեռացում.
Աշխատանք սնապշոտների և միգրացիայի հետ¶
Սնապշոտների ստեղծում¶
Սնապշոտները թույլ են տալիս պահպանել կոնտեյների վիճակը՝ հետագա վերականգնման համար.
Օրինակ.
Կոնտեյների սնապշոտների ցանկ.
Վերականգնում սնապշոտից¶
Օրինակ.
Սնապշոտի ջնջում.
Անվանափոխում և պատճենում¶
Կոնտեյների անվանափոխում.
Կոնտեյների պատճենում նույն հյուրընկալողի վրա.
Կոնտեյների պատճենում այլ Incus հյուրընկալողի վրա.
Հեռավոր հյուրընկալողների հետ աշխատելու համար նախ անհրաժեշտ է ավելացնել հեռավոր.
Պատկերների կառավարում¶
Պատկերների դիտում¶
Տեղական պատկերների ցանկ.
Հեռավոր պահոցի պատկերների ցանկ.
Որոշակի դիստրոբյուտիվի որոնում.
Պատկերների պատճենում¶
Պատկերի պատճենում հանրային պահոցից՝ ավտոմատ թարմացմամբ.
Պատկերի պատճենում՝ անվանափոխով.
Պատկերի ստեղծում կոնտեյներից¶
Պատկերների ջնջում¶
կամ անվանափոխով.
Ցանցային փոխազդեցություն¶
Ցանցի կառավարում¶
Ցանցերի ցանկ.
Ցանցային կոնֆիգուրացիայի դիտում.
Նոր ցանցի ստեղծում.
# Բրիջ ցանցի ստեղծում
incus network create mybr0 \
ipv4.address=10.10.10.1/24 \
ipv4.nat=true \
ipv6.address=none
# macvlan ցանցի ստեղծում
incus network create mymacvlan \
type=macvlan \
parent=eth0
Ցանցի խմբագրում.
Ցանցի ջնջում.
Ցանցային փոխանցման կանոններ¶
Փոխանցման կանոնի ստեղծում պորտի փոխանցման համար.
Պահեստավորման կառավարում¶
Պահեստավորման pool-երի կառավարում¶
Pool-երի ցանկ.
Pool-ի տեղեկատվության դիտում.
Պահեստավորման pool-ի ստեղծում.
Dir-ի հիման վրա pool.
Btrfs pool.
ZFS pool.
Pool-ի խմբագրում.
Pool-ի ջնջում.
Volume-ների կառավարում¶
Սեփական volume-ի ստեղծում.
Pool-ի volume-ների ցանկ.
Volume-ի միացում կոնտեյնին.
incus config device add <container> <device-name> disk \
pool=<pool-name> \
source=<volume-name> \
path=/mount/path
Volume-ի պատճենում.
Volume-ի ջնջում.
NAT և ռուտինգի կոնֆիգուրացիա¶
Որոշ դեպքերում կարող է անհրաժեշտ լինել NAT և ռուտինգի կանոնների ձեռքով կոնֆիգուրացիա՝ կոնտեյներին արտաքին ցանցին մուտք ապահովելու համար:
Անցում nftables-ի¶
IP փոխանցման ակտիվացում¶
Մշտական կիրառման համար ավելացրեք /etc/sysctl.conf-ում.
Incus-ի վերագործարկում փոփոխություններից հետո.
NAT աղյուսակի կոնֆիգուրացիա¶
NAT աղյուսակի և POSTROUTING շղթայի ստեղծում.
Masquerade կանոնի ավելացում կոնտեյների ենթացանցի համար.
Նշում
Փոխարինեք ens1-ը ձեր արտաքին ցանցային ինտերֆեյսի անվանումով և 10.1.4.0/24-ը՝ ձեր Incus բրիջի ենթացանցով:
FORWARD շղթայի կոնֆիգուրացիա¶
Ֆիլտրի աղյուսակի և FORWARD շղթայի ստեղծում.
Կանոնների ավելացում՝ թույլատրելու համար.
Թույլատրել երթևեկությունը կոնտեյներներից դուրս.
Թույլատրել հաստատված/կապված երթևեկությունը հետ.
nft insert rule ip filter FORWARD iifname "ens1" oifname "incusbr0" ct state established,related accept
nftables կանոնների ստուգում¶
Բոլոր կանոնների դիտում.
Կանոնների պահպանում (Debian/Ubuntu-ի համար).
Փաթեթի տեղադրում կանոնները պահպանելու համար.
Ընթացիկ կանոնների պահպանում.
Ավտոմատ բեռնման ակտիվացում.
Նշում
Incus-ի բոլոր հնարավորությունների մասին մանրամասն տեղեկատվությունը պարունակվում է պաշտոնական զարգացնող փաստաթղթերում: