Sobes.tech
Junior

Ի՞նչ է կոնտեյներիզացիան և վիրտուալիզացիան:

sobes.tech AI

Պատասխան AI-ից

Վիրտուալացումը սիմուլացնում է սարքավորումները՝ թույլ տալով միաժամանակ մի քանի օպերացիոն համակարգեր գործարկել մեկ ֆիզիկական սերվերի վրա: Յուրաքանչյուր վիրտուալ մեքենա (ՎՄ) ունի իր սեփական օՀ, միջուկը, գրադարանները և ծրագրերը: Սա ապահովում է ուժեղ մեկուսացում, բայց պահանջում է զգալի ռեսուրսներ (հիշողություն, CPU, սկավառական տարածք) յուրաքանչյուր ՎՄ-ի համար:

Կոնտեյներիզացիան աշխատում է օՀ մակարդակով՝ բաժանելով օՀ միջուկը ծրագրերի միջև: Կոնտեյներն ունեն միայն ծրագիր, դրա կախվածությունները և գրադարանները: Սա դարձնում է կոնտեյներները ավելի թեթև, արագ սկսվող և քիչ ռեսուրսներ պահանջող, քան ՎՄ-ները: Մեկուսացումը հասնում է պրոցեսների և օՀ անվան տարածքների մակարդակով:

Ահա հիմնական տարբերությունները:

Պարամետր Վիրտուալացում Կոնտեյներիզացիա
Աշխատանքի մակարդակ Հասարակական սարքավորումներ ՕՀ համակարգը
Մեկուսացում ՕՀ և ՎՄ միջուկը Պրոցեսներ և օՀ անվան տարածքներ
Ռեսուրսներ Բարձր (յուրաքանչյուր ՎՄ-ի համար) Նվազ (միջուկի բաժանում)
Արագություն Հետաձգված ՎՄ սկսում է գործել Արագ կոնտեյներ սկսում է գործել
Նկարագրության չափը Մեծ (ներառում է օՀ) Փոքր (միայն ծրագիր և կախվածություններ)
Տրանսպորտայինություն Պահանջում է համատեղելիություն ՎՄ մակարդակով Բարձր (աշխատում է ցանկացած հոստի վրա)

Վիրտուալ մեքենայի կոնֆիգուրացիայի օրինակ:

// qemu/kvm կոնֆիգուրացիայի ֆայլ
[drive]
file=/var/lib/libvirt/images/my-vm.qcow2
if=virtio
bus=virtio
cache=none

[cpu]
type=host

[memory]
size=4g

Dockerfile կոնտեյների համար.

# Օգտագործում է բազային պատկերը
FROM ubuntu:20.04

# Կոնֆիգուրացնում է կախվածությունները
RUN apt-get update && apt-get install -y nginx

# Կատարվում է ծրագրի ֆայլերի պատճենում
COPY html /var/www/html

# Բացվում է պորտը
EXPOSE 80

# Ծրագրի գործարկում
CMD ["nginx", "-g", "daemon off;"]