•  untoreh-light

På behållare

Använda behållare, vad och varför

Vad är behållare

[Containers] är ett namn som ges till begränsade miljöer, möjliggjord av en samling undersystem inom Linux som [cgroups ] och [namespaces ]. Även om wikisidan använder ordet virtualisering Jag tror ordet isolering är mer lämpligt, eftersom virtualisering innebär att det finns ett lager av översättning däremellan, medan vad cgroups och namnområden gör är att separera och kontextualisera processer.

Cgroups används vanligtvis för att definiera allokeringspolicyer för resurserRAM ochCPU , medan namnområden styr kontexterna som monteringspunkter, nätverk och användare. [Apparmor] ger istället ett sätt att begränsa möjligheterna för behållarmiljöer som helhet, medan apparmor utan behållare, som skrivet i wikipedia, är programbaserat.

Verktyg som flatpak och brandfängelseanvända behållare för att begränsa åtkomstytan för användarprogram. [Windows] -containrar implementerar likvärdiga system och erbjuder även stöd för Linux -containrar via [WSL].

Men varför?

För mycket?

När jag började bygga tall , Jag experimenterade lite med att skicka mina egna containerbilder, distribuerade från github -versioner. Huvudmanuset (trees ) kommandon var

Usage: trees APP [FLAGS]...
'APP'               Install apps through ostree deltas checkouts.
    -b, --base      base image (alp,trub...)
    -n, --name      same as APP (etcd,hhvm...)
    -f, --force     clear before install
    -d, --delete    clear checkout and prune ostree repo
ck, check           make sure the apps repo is mounted
co, checkout        builds the trees of links for the specified APP
    -t 	            optional path where to build the tree

Det liknade flatpak, eftersom jag skickade ett ostree -statiskt delta baserat på den huvudsakliga tallbilden och [kollade] de nya appbaserade rootfsna och sedan lanserade en containerinstans ovanpå den. OpenVZ hade många problem innan v7 för att köra container (eftersom du vet ... du körde en kapslade behållare på en behållarbaserad [VPS], och kärnan var en gaffel avv2.6 (!))...det var en enorm slöseri med tid.

När?

Mitt försök var att få en minimal behållartid utan att behövadocker eller mer biffigare programvara, eftersom dockaren förmodligen är den lättaste, och dockersvärm , att vara inbyggd delar mycket funktionalitet och ger dig de mest användbara funktionerna för orkestrering, vilket gör den mest beroende av systemkrav för värden jämfört med k8s eller nomad.

Trots att behållare är en funktion som du kanske vill ha oftast är orkestrering inte det. Jag tror löst inriktad reklamkampanjer lockar oavsiktlig målgrupp för sådan programvara, vilket får en att tro att den kan vara användbar till dem , utan att betona premissen att du verkligen måste skala en hel del (!) för att rättfärdiga komplexitetskostnaden för sådana inställningar. Antalet bekvämlighetsverktyg byggt runt k8s för att underlätta uppstartsprocessen för ett k8s -kluster bör vara tillräckligt med bevis ...

Slutsatser

Orkesteringsverktyg hamnar trångt på platsen för lösningar för att hantera flera värdmaskiner när användare inte kan se skillnad mellan sällskapsdjur och boskapsservrar. Vid många tillfällen, programvara som ansible, pyinfra eller till och med cssh eller assh är allt man någonsin behöver.

Inläggstaggar: