Vad är Container Linux och ska du använda den?

Behållare blir alltmer populära. Container Linux, tidigare känd som CoreOS, är ett Linux-operativsystem som är utformat för enkla behållarutrymmen. Denna översikt och hands-on-titt på Container Linux kommer att berätta mer.

Behållare blir alltmer populära.  Container Linux, tidigare känd som CoreOS, är ett Linux-operativsystem som är utformat för enkla behållarutrymmen.  Denna översikt och hands-on-titt på Container Linux kommer att berätta mer.
Annons

Linux operativsystem finns i en mängd olika smaker. Medan Linux-operativsystem som Ubuntu är ganska generella, riktar sig andra till en nisch. Det finns den säkerhetsinriktade Kali Linux. Lätta viktfördelningar som Xubuntu, och till och med Hannah Montana Linux (!). För skrivbordsbruk fungerar ett vanilj Linux operativsystem bra. Men för specialiserade uppgifter som att köra en server är det bäst att hitta en skräddarsydd version.

Behållare blir alltmer populära. Container Linux, tidigare känd som CoreOS, är ett Linux-operativsystem som är utformat för enkla behållarutrymmen. Det är ett av de nyaste Linux-operativsystemen Njutna Linux-operativsystem för varje nisch Det senaste Linux-operativsystemet för alla Niches Linux-operativsystem uppdateras ständigt, med vissa är större än andra. Är du osäker på om du vill uppgradera? Kolla in de här nya Linux-operativsystemen och se om du ska prova dem. Läs mer . Kolla in denna översikt och hands-on titta på Container Linux.

Hands-On With Container Linux: Bakgrundskunskap

Innan du dyker in i Container Linux, låt oss börja med en kort översikt över serverns arkitektur. Container Linux är utformad för grupperade implementeringar. En grupperad implementering låter ganska komplex, men det är ganska enkelt. I grunden består ett datorkluster av flera servrar som arbetar tillsammans. Därför fungerar de som en enhet eller ett system i stället för flera. Dessutom har datorer i ett kluster funktionen noder eller servrar som utför samma funktion. Så en nod är en enda maskin medan ett kluster är en grupp servrar som arbetar tillsammans.

De vanligaste Container Linux-implementeringarna finns inom klustermiljöer. Den distro som tidigare kallas CoreOS innehåller även medel för att snurra upp ett kluster från bara en maskin. Det definierande kännetecknet för Container Linux är dock dess beroende av behållare.

Till skillnad från ett traditionellt skrivbordssystem kör alla applikationer i behållare. Medan både virtuella maskiner (VM) och containrar använder virtualiseringsmetoder skiljer sig behållare. Till skillnad från VM, använder behållare samma operativsystemkärna som värdmaskinen. Eftersom behållarapplikationer och värdmaskinen använder samma kärna, utnyttjas behållarutnyttjandet av ökad effektivitet. I en virtuell maskinkonfiguration kör varje VM en app plus ett gästoperativsystem. Detta körs ovanpå värdens operativsystem och hårdvara.

Innehåll i behållare använder istället program i egna behållare ovanpå virtualiseringsprogrammet. Docker är fortfarande den populäraste behållarprogramvaran, dock chroot, LXC och Linux-VServer rankning bland Docker-alternativ.

Hands-On With Container Linux: Varför använda behållare?

OK, så behållare är en virtualiseringsmetod. Varför välja en containeriserad miljö? Typiskt levererar behållare förbättrad prestanda. Genom att undvika separata operativsystem och istället använda en gemensam kärna maximerar du CPU, lagring och minneseffektivitet.

Eftersom du inte behöver köra flera operativsystem instanser som du skulle i en VM-konfiguration kan du köra fler behållare. Prestationsförbättringar härrör från behovet av ett enda operativsystem. På samma sätt kan du skapa behållare snabbare än i en virtuell maskinmiljö. Därför är behållare lämpligare för att behålla smidighet och möjliggör kontinuerlig leverans och kontinuerlig integration.

Agil utveckling koncentrerar sig på iteration och factoring i oförutsägbarhet. Du kan läsa Agile Manifesto för ytterligare inblick i den smidiga filosofin. Men trots fördelarna med behållare är det inte en perfekt virtualiseringsmetod. Eftersom behållare delar värdens operativsystemkärna finns det en säkerhetsrisk. Eventuell sårbarhet eller överträdelse som påverkar en behållare får åtkomst till operativsystemet. Men det finns en lösning för att köra behållarapplikationer på ett operativsystem inom en virtuell maskin. Detta säkerställer att operativsystemet för värdmaskinen är isolerat från det enskilda behållarvertsoperativsystemet.

Containerisering kräver också att behållare använder samma operativsystem. Med virtuella maskiner får varje applikation sitt eget operativsystem. Så du kan inte köra appar som är avsedda för Windows Server i en containeriserad Linux-miljö och vice versa.

Hands-On With Container Linux: Vad är Container Linux?

CoreOS Core Update

CoreOS, eller Container Linux som det nu heter, är ett Linux-operativsystem med öppen källkod. Det är en lätt distro som syftar till grupperade implementeringar. Mer specifikt koncentrerar CoreOS på enkla, pålitliga, skalbara implementeringar. Du hittar inte en pakethanterare. Istället kräver Container Linux att alla appar ska köras inuti behållare. Container Linux använder Chrome OS som bas. Därför förblir Container Linux ganska lätt. För att testa körde jag Linux-operativsystemet tidigare känt som CoreOS i en virtuell maskin på en åldrande HP Envy m6-1205dx AMD A10-driven bärbar dator. Systemresursförbrukningen förblev ganska låg.

Eftersom Container Linux avskyr flera traditionella operativsystem Linux-operativsystem, håller distributionen lätt. Till skillnad från ett stationärt operativsystem hittar du inte en pakethanterare. I stället kör alla applikationer som Docker-behållare. Detta ger portabilitet och serviceisolering. Om du vill ha en skrivbordsmiljö har du ingen lycka till. Container Linux saknar grafiskt användargränssnitt. Istället är allt kommandoradsbaserat. CoreUpdate-instrumentbrädan erbjuder information om maskinhälsa, körtjänster och klusterhälsa. Men det är bara tillgängligt som en komponent i Premium Managed Linux-prenumerationen.

Container Linux Arkitektur

Container Linux är lätt och konstruerad för containerisering och klustring. Eftersom det inte finns någon stationär miljö fungerar konfigurationen annorlunda än på ett Linux-operativsystem som CentOS eller Ubuntu. Vid startstart laddar Container Linux en cloud-config-fil. Du måste ange information i cloud-config. Detta kan vara lite knepigt, särskilt för dem som inte är bekanta med cloud-config. Men det är en viktig fil som ger Container Linux sin förmåga att ladda viktiga tjänster, ändra parametrar och hantera kluster.

Vidare är etcd och flåddemonerna integrerade för Container Linux. Båda dessa tjänster startas som standard vid start. Vid start kan cloud-config filen tillåta värd att ansluta till ett befintligt kluster. etcd demonen distribuerar och lagrar data för värdar inom ett kluster. Det är viktigt att upprätthålla konfigurationer samt service upptäckt. fleet demonen liknar en distribuerad init. Den här demonen länkar till systemd init för värdar i ett kluster och tar hand om uppgifter som serviceplanering.

Varje system i ett fleet kluster kör endast en fleetd demon. Denna demon antar två huvudansvar som fungerar som både agent och motor. Som motorn utför demonen planeringsbeslut. Medelsidan utför enheter. I flotta cluster etcd är det enda datastore. Sådan information som cluster närvaro, enhet state och enhet filer är alla lagrade inom etcd demonen. Dessutom är det mediet för flottaagent och motorkommunikation.

Hands-On With Container Linux: Vem ska använda den?

Container Linux är gratis att ladda ner, lätt och ganska enkelt att installera i en virtuell maskin. Den som behöver snabb, skalbar, containeriserad implementering bör välja Container Linux. För det mesta kommer systemadministratörer och databasadministratörer mest att dra nytta av Container Linux. Eftersom Container Linux saknar en skrivbordsmiljö är den bäst lämpad för grupphantering och i en serverinställning. Om du letar efter ett Linux-operativsystem är Container Linux ett av de 12 bästa Linux-serverns distro 12 Bästa Linux Server-operativsystem och vem ska använda dem 12 Bästa Linux-operativsystem och vem ska använda dem Att bygga en server? Linux är idealiskt, och erbjuder vanligtvis förbättrade behörigheter, ökad flexibilitet och stabilitet. Men vilken ska du välja? Kolla in de 12 bästa Linux-operativsystemen och vem ska använda dem. Läs mer s.

Air Pair har en utmärkt skrivning på CoreOS-incitament. I den här artikeln nämns hög tillgänglighet, underhåll av produktionsmiljö, styrning av mjukvaruversion och etcd som huvuddrag för att använda Container Linux. Det finns också en otroligt dedikerad öppen källkod. Container Linux är skräddarsydd för erfarna Linux-användare. Hjälpdokumentationen medan omfattande antar en måttlig grad av Linux-förtrogenhet. Nybörjare och nybörjare kan ha lite problem med den ursprungliga installationen.

Mer specifikt kan cloud-config vara en utmaning. I kommentarfältet i en CoreOS-installationsvideo uttalade YouTube-användaren Setyoso Nugroho "Trevlig handledning! Ganska förvirrande när man lär sig # cloud-config-filkonfiguration i CoreOS. "Konfigurationen Linux är inte så svårt, men konfigurationen är inte särskilt svår, men det är en stark grepp om Linux-funktioner som VIM-editoren.

Hands-On With Container Linux: Så här installerar du

Det finns många sätt att installera Container Linux. Enligt CoreOS-webbplatsen omfattar officiella plattformar Amazon EC2, DigitalOcean, Microsoft Azure, bare metall och OpenStack. Tillsammans med liknande Oracle Linux, CentOS och Suse, är CoreOS en av en handfull Azure-kompatibla Linux-operativsystem. Älskar Microsoft verkligen Linux efter allt? Älskar Microsoft verkligen alla Linux? Microsoft och Linux har haft en tumultuous relation. Under åren har VD har uttryckt en önskan om att Linux ska försvinna, men dessa dagar är historien annorlunda. Tror Microsoft verkligen Linux trots allt? Läs mer . Tack vare en levande community stöds också plattformar som Packet, Rackspace, Brightbox, VirtualBox och VMware. Jag hittade den enklaste metoden var att installera Container Linux på VirtualBox med en ISO-fil. Här är en snabbguide för hur du använder VirtualBox Så här använder du VirtualBox: Användarhandbok Så här använder du VirtualBox: Användarhandbok Med VirtualBox kan du enkelt installera och testa flera operativsystem. Vi visar hur du konfigurerar Windows 10 och Ubuntu Linux som en virtuell maskin. Läs mer .

Konfigurera VirtualBox

Öppna VirtualBox och du blir uppmanad till ett virtuellt maskinnamn, operativsystemtyp och version. Jag ringde min helt enkelt CoreOS. För typen, välj Linux. Som version, använd Linux 2.6 / 3.x / 4 / x (64-bit). Klicka på Nästa.

CoreOS Start

Nu måste du allokera din RAM. CoreOS föreslår minst 1024 MB RAM.

CoreOS RAM

När du har valt din RAM måste du lägga till en virtuell hårddisk. Använd nu alternativet Skapa en virtuell hårddisk.

Skapa VHD CoreOS

På nästa skärm blir du uppmanad till en filtyp för hårddisken. Välj VDI eller VirtualBox Disk Image.

CoreOS VDI

Därefter konfigurerar du lagringsutrymmet. Jag rekommenderar att du använder en dynamiskt tilldelad hårddiskfil.

CoreOS Dynamic

Välj sedan filens plats och storlek. Jag lämnade standard CoreOS som namn och valde en 8 GB fildatastorlek.

CoreOS filstorleksallokering

Med din CoreOS VirtualBox virtuella maskin korrekt konfigurerad, fortsätt och klicka på den gröna Start-knappen.

CoreOS Start

När du klickar på Start måste du välja en startdiskett. Navigera till mappen där du har din CoreOS ISO och fortsätt.

Konfigurera Container Linux

Efter att ha startat din CoreOS ISO börjar Container Linux ladda. Du ser så småningom en rad som ger din CoreOS-version och en kommandoradsläsning:

 core@localhost 

Skriv in:

 sudo openssl passwd -1>cloud-config-file 

CoreOS Passwd Config

Kommandoraden presenterar en varning om att inte öppna konfigurationsfilen. Ange önskat lösenord och fortsätt. Ange nästa:

 cat cloud-config-file 

CoreOS Cat Cloud Config

Detta returnerar en lång sträng och skapar en ny cloud-config-fil. Öppna nu cloud-config i en visuell redigerare:

 vi cloud-config-file 

CoreOS VI

Detta laddar upp en cloud-config-fil som du kan redigera. CoreOS innehåller en avancerad exempelfilm för Cloud-config:

CoreOS Cloud Config-exempel

Mine såg ut:

 #cloud-config users: moe passwd: [SSL password] groups: - sudo - docker 

CoreOS Cloud Config Ex

Du kan kolla din cloud-config-fil genom att ange:

 cat cloud-config-file 

CoreOS Kontrollera Cloud Config

Detta returnerar din config-fil. Om allt ser bra ut, fortsätt med att installera CoreOS:

 sudo coreos-install -d /dev/sda -C stable -c cloud-config-file 

CoreOS Install Final

Du får se ett meddelande om att CoreOS laddas ner, skrivs och verifieras. Så fort det slutar ser du ett meddelande som säger "Framgång! CoreOS [version] är installerad på / dev / sda. "

CoreOS framgång

Stäng av din CoreOS virtuella maskin och starta den sedan igen. När du säkerhetskopierar, var noga med att avmontera CoreOS ISO, annars kommer live-cd-skivan att köras igen.

CoreOS laddas och du får en inloggningsprompt i kommandoraden:

 localhost login: 

CoreOS Final Login

Ange ditt användarnamn och lösenord. Detta laddar ett meddelande som säger "Container Linux av CoreOS [version]" och en ny kommandorad.

Final Login CoreOS

Hands-On With Container Linux: Nästa steg

Nu när Container Linux av CoreOS är korrekt installerat kan du börja konfigurera behållare och kluster. CoreOS-dokumentationen har en utmärkt snabbstartguide. Det finns information om service upptäckt med hjälp av etcd samt en del om containerhantering med Docker. Jag utförde några snabba tester som en "Hello World" Docker pull. Dessutom installerade jag en Plex Docker-bild eftersom jag är en stor mediaserver buff. Slutligen inrättade jag flottan för klusterhantering.

Vad du vill göra först är att konfigurera huvudkomponenterna i Container Linux:

  • ETCD
  • Hamnarbetare
  • Flotta

Genom att konfigurera dessa tre primära stiftelser är du redo för serviceupptäckt, grupphantering och konfiguration av behållare. Därefter kan du komma igång med containertillämpningar och säkert testa skrivbordsprogram i en säker Docker-behållare. Hur man säkert testar skrivbordsapplikationer i en säker behållare med dockare. Hur man säkert testar skrivbordsapplikationer i en säker behållare med Docker Docker är en populär plattform för utveckling och testning. serverbaserade applikationer. Men visste du att du också kan använda den för att säkert och säkert köra nya program på skrivbordet? Läs mer .

Hands-On With Container Linux: Slutliga tankar

Jag använder inte behållare ofta, men Container Linux förenklade distributionen. Dokumentation är utmärkt med sample config-filer. Observera att för nybörjare gör flera inofficiella videoinstallationshandledningar enklare CoreOS-installationer. Medan CoreOS hävdar att Container Linux är lätt, var jag ursprungligen skeptisk. Ändå spinn jag upp Container Linux i en virtuell maskin med ganska låg resursförbrukning. Och för att jag ville testa om Container Linux var riktigt lätt, använde jag min åldrande HP laptop, och stötte inga problem.

Några steg i den ursprungliga installationen är dock inte särskilt "nybörjare vänliga". Installera och konfigurera Container Linux kräver en robust Linux-förtrogenhet. I synnerhet försökte jag inte CoreUpdate-instrumentpanelen, vilken CoreOS erbjuder som en betald premiumfunktion. Medan jag inte har några problem med kommandoraden, skulle en grafisk miljö för övervakning göra ett bra tillägg.

Systemadministratörer och databashanterare dra nytta av det mesta av Container Linux. Men för hemmaservrar är det ett enkelt och lätt sätt att skapa en sammanslagen miljö. Dessutom, med Container Linux kan du snurra upp ett kluster från en enda maskin. Men Container Linux är en bra introduktion till att arbeta med behållare. Om du försöker lära dig mer om Docker och behållare går Container Linux riktigt bra i en virtuell maskin och erbjuder alla resurser du behöver för att komma igång.

Det är en utmärkt out-of-the-box lösning för Container nybörjare förutom erfarna DevOps ingenjörer, sysadminer och databas administratörer. Slutligen Container Linux av CoreOS är ett enkelt sätt att skapa en skalbar, effektiv, containeriserad miljö.

Använder du CoreOS? Planerar du att? Låt oss veta hur du containeriserar på Linux i kommentarfältet nedan!

In this article