Advertentie

Linux-besturingssystemen zijn er in verschillende smaken. Terwijl Linux-besturingssystemen zoals Ubuntu vrij algemeen zijn, richten weer andere een niche. Er is de op beveiliging gerichte Kali Linux. Lichtgewicht distributies zoals Xubuntu en zelfs Hannah Montana Linux (!). Voor desktopgebruik functioneert een vanille Linux-besturingssysteem goed. Maar voor gespecialiseerde taken zoals het runnen van een server, is het het beste om een ​​op maat gemaakte versie te vinden.

Containers worden steeds populairder. Container Linux, voorheen bekend als CoreOS, is een Linux-besturingssysteem dat is ontworpen voor eenvoudige container-implementaties. Het is een van de nieuwste niche Linux-besturingssystemen De nieuwste Linux-besturingssystemen voor elke nicheLinux-besturingssystemen worden voortdurend bijgewerkt, sommige zijn groter dan andere. Weet u niet zeker of u moet upgraden? Bekijk deze nieuwe Linux-besturingssystemen en kijk of je ze moet proberen. Lees verder . Bekijk dit overzicht en een praktische blik op Container Linux.

Hands-On met Container Linux: achtergrondkennis

Voordat we in Container Linux duiken, beginnen we met een kort overzicht van de serverarchitectuur. Container Linux is ontworpen voor geclusterde implementaties. Een geclusterde implementatie klinkt vrij complex, maar is vrij eenvoudig. In wezen bestaat een computercluster uit meerdere servers die samenwerken. Daarom functioneren ze als één eenheid of systeem in plaats van meerdere. Bovendien hebben computers in een cluster knooppunten of servers met dezelfde functie. Een knooppunt is dus een enkele machine, terwijl een cluster een groep servers is die samenwerken.

De meest voorkomende Container Linux-implementaties zijn binnen clusteromgevingen. De distro die voorheen bekend stond als CoreOS bevat zelfs de middelen om een cluster vanaf slechts één machine. Het bepalende kenmerk van Container Linux is echter de afhankelijkheid ervan containers.

In tegenstelling tot een traditioneel desktopbesturingssysteem, draaien alle applicaties in containers. Hoewel zowel virtuele machines (VM) als containers virtualisatiemethoden gebruiken, verschillen containers. In tegenstelling tot VM's gebruiken containers dezelfde besturingssysteemkernel als de hostcomputer. Omdat container-apps en de hostcomputer dezelfde kernel gebruiken, profiteren container-implementaties van verhoogde efficiëntie. In een virtuele-machineconfiguratie voert elke VM een app plus een gastbesturingssysteem uit. Dit draait bovenop het hostbesturingssysteem en de hardware.

Container-implementaties draaien in plaats daarvan apps in hun eigen containers bovenop virtualisatiesoftware. Docker blijft de meest populaire containersoftware, hoewel chroot, LXC en Linux-VServer tot de Docker-alternatieven behoren.

Hands-On met Container Linux: waarom containers gebruiken?

OK, dus containers zijn een virtualisatiemethode. Waarom kiezen voor een containeromgeving? Meestal leveren containers verbeterde prestaties. Door afzonderlijke besturingssystemen te vermijden en in plaats daarvan een gedeelde kernel te gebruiken, maximaliseert u de efficiëntie van CPU, opslag en geheugen.

Aangezien u niet meerdere instanties van het besturingssysteem hoeft uit te voeren, zoals u zou doen in een VM-configuratie, kunt u meer containers uitvoeren. Prestatieverbeteringen vloeien voort uit de behoefte aan één besturingssysteem. Op dezelfde manier kunt u containers sneller maken dan in een virtuele machine-omgeving. Daarom zijn containers meer geschikt om wendbaar te blijven en continue levering en continue integratie mogelijk te maken.

Soepele ontwikkeling concentreert zich op iteratie en factoring in onvoorspelbaarheid. Je kunt het lezen Agile Manifesto voor meer inzicht in de agile filosofie. Maar ondanks de voordelen van containers, is het geen perfecte virtualisatiemethode. Aangezien containers de kernel van het hostbesturingssysteem delen, is er een beveiligingsrisico. Elke kwetsbaarheid of inbreuk die een container beïnvloedt, krijgt toegang tot het besturingssysteem. Maar er is een oplossing voor het uitvoeren van container-apps op een besturingssysteem binnen een virtuele machine. Dit zorgt ervoor dat het besturingssysteem van de hostmachine wordt geïsoleerd van het enkelvoudige besturingssysteem van de containerhost.

Containerisatie vereist ook dat containers hetzelfde besturingssysteem gebruiken. Met virtuele machines krijgt elke applicatie zijn eigen besturingssysteem. U kunt dus geen apps die zijn ontworpen voor Windows Server uitvoeren in een gecontaineriseerde Linux-omgeving en omgekeerd.

Hands-on met Container Linux: wat is Container Linux?

CoreOS Core Update

CoreOS, of Container Linux zoals het nu wordt genoemd, is een open-source Linux-besturingssysteem. Het is een lichtgewicht distro gericht op geclusterde implementaties. Meer specifiek concentreert CoreOS zich op eenvoudige, betrouwbare, schaalbare implementaties. U zult geen pakketbeheerder vinden. In plaats daarvan vereist Container Linux dat alle apps in containers worden uitgevoerd. Container Linux gebruikt Chrome OS als basis. Daarom blijft Container Linux behoorlijk licht van gewicht. Om te testen draaide ik het Linux-besturingssysteem dat voorheen bekend stond als CoreOS in een virtuele machine op een verouderde HP Envy m6-1205dx AMD A10-laptop. Het verbruik van systeembronnen bleef redelijk laag.

Omdat Container Linux verschillende traditionele functies van het desktop Linux-besturingssysteem schuwt, houdt het de distributie lichtgewicht. In tegenstelling tot een desktopbesturingssysteem, vindt u geen pakketbeheerder. In plaats daarvan worden alle applicaties uitgevoerd als Docker-containers. Dit zorgt voor draagbaarheid en service-isolatie. Als je een desktopomgeving wilt, heb je pech. Container Linux mist een grafische gebruikersinterface. In plaats daarvan is alles gebaseerd op de opdrachtregel. De CoreUpdate-dashboard biedt wel informatie over de status van de machine, actieve services en de status van de cluster. Maar het is alleen beschikbaar als onderdeel in de Premium Managed Linux-abonnement.

Container Linux-architectuur

Container Linux is lichtgewicht en ontworpen voor containeriseren en clusteren. Omdat er geen desktopomgeving is, werkt de configuratie anders dan op een Linux-besturingssysteem zoals CentOS of Ubuntu. Bij de eerste keer opstarten laadt Container Linux een cloud-configuratiebestand. U moet informatie invoeren in cloud-config. Dit kan een beetje lastig zijn, vooral voor degenen die niet bekend zijn met cloud-config. Maar het is een essentieel bestand dat Container Linux de mogelijkheid biedt om essentiële services te laden, parameters te wijzigen en clusters te beheren.

Verder is de enz en vloot daemons blijven een integraal onderdeel van Container Linux. Beide services starten standaard bij het opstarten. Bovendien laat de host bij het opstarten de cloud-configuratiebestand weten hoe hij lid moet worden van een bestaand cluster. De enz daemon distribueert en slaat gegevens op voor hosts binnen een cluster. Het is essentieel voor het onderhouden van configuraties en het ontdekken van services. De vloot daemon lijkt op een gedistribueerde init. Deze daemon linkt naar de systemd init voor hosts in een cluster en zorgt voor taken zoals serviceplanning.

Elk systeem in een vloot cluster draait er maar één fleetd demon. Deze daemon heeft twee hoofdverantwoordelijkheden als agent en motor. Als de motor voert de daemon planningsbeslissingen uit. Terwijl de agentzijde eenheden uitvoert. In de vlootcluster, enz is de enige datastore. Dergelijke informatie zoals clusteraanwezigheid, unitstatus en unitbestanden worden allemaal opgeslagen in de enz demon. Bovendien is het het medium voor communicatie tussen wagenparkagenten en motoren.

Hands-on met Container Linux: wie zou het moeten gebruiken?

Container Linux is gratis te downloaden, lichtgewicht en redelijk eenvoudig te installeren op een virtuele machine. Iedereen die snelle, schaalbare, gecontaineriseerde implementaties nodig heeft, moet kiezen voor Container Linux. Meestal profiteren systeembeheerders en databasebeheerders van Container Linux. Omdat Container Linux geen desktopomgeving heeft, is het het meest geschikt voor clusterbeheer en in een serveromgeving. Als u op zoek bent naar een Linux-serverbesturingssysteem, is Container Linux een van de 12 beste Linux-serverdistro 12 beste Linux Server-besturingssystemen en wie ze zou moeten gebruikenEen server bouwen? Linux is ideaal en biedt doorgaans verbeterde rechten, meer flexibiliteit en stabiliteit. Maar welke moet je kiezen? Bekijk de 12 beste Linux-serverbesturingssystemen en wie ze zou moeten gebruiken. Lees verder s.

Air Pair heeft een uitstekende schrijfervaring CoreOS-incentives. Dit artikel noemt hoge beschikbaarheid, productieomgevingonderhoud, softwareversiebeheer en etcd als belangrijkste trekkingen voor het gebruik van Container Linux. Er is met name ook een ongelooflijk toegewijde open-sourcecommunity. Container Linux is op maat gemaakt voor ervaren Linux-gebruikers. De uitgebreide hulpdocumentatie gaat uit van een matige mate van Linux-vertrouwdheid. Beginnende en beginnende gebruikers hebben mogelijk wat problemen met de eerste installatie.

Meer specifiek kan cloud-config een uitdaging zijn. In het commentaargedeelte van één CoreOS-installatievideo, YouTube-gebruiker Setyoso Nugroho verklaarde: "Leuke tutorial! Best verwarrend bij het leren van # cloud-config bestandsconfiguratie in CoreOS. ” Terwijl de configuratie is niet erg moeilijk, Container Linux gaat uit van een goed begrip van Linux-functies zoals de VIM editor.

Hands-On met Container Linux: hoe te installeren

Er zijn veel manieren om Container Linux te installeren. Volgens de CoreOS-website, officiële platforms zijn onder meer Amazon EC2, DigitalOcean, Microsoft Azure, bare metal en OpenStack. Naast Oracle zoals Linux Linux, CentOS en Suse, is CoreOS een van de weinige Azure-compatibele Linux-besturingssystemen Houdt Microsoft toch echt van Linux?Microsoft en Linux hebben een tumultueuze relatie gehad. Door de jaren heen hebben CEO's de wens uitgesproken om Linux te zien verdwijnen, maar tegenwoordig is het verhaal anders. Houdt Microsoft toch echt van Linux? Lees verder . Dankzij een levendige community worden ook platforms zoals Packet, Rackspace, Brightbox, VirtualBox en VMware ondersteund. Ik vond dat de eenvoudigste methode was om Container Linux op VirtualBox te installeren met een ISO-bestand. Hier is een beknopte handleiding voor het gebruik van VirtualBox Hoe VirtualBox te gebruiken: GebruikershandleidingMet VirtualBox kunt u eenvoudig meerdere besturingssystemen installeren en testen. We laten u zien hoe u Windows 10 en Ubuntu Linux instelt als een virtuele machine. Lees verder .

VirtualBox configureren

Open VirtualBox en u wordt gevraagd om de naam van een virtuele machine, het type besturingssysteem en de versie. Ik noemde de mijne gewoon CoreOS. Selecteer voor het type Linux. Gebruik als versie Linux 2.6 / 3.x / 4 / x (64-bit). Klik volgende.

CoreOS Start

Nu moet je je RAM toewijzen. CoreOS stelt een minimum van 1024 MB RAM voor.

CoreOS RAM

Nadat je je RAM hebt geselecteerd, moet je een virtuele harde schijf toevoegen. Gebruik de optie Nu een virtuele harde schijf maken.

Maak VHD CoreOS

Op het volgende scherm wordt u om een ​​bestandstype van de harde schijf gevraagd. Selecteer VDI of VirtualBox Disk Image.

CoreOS VDI

Configureer daarna uw opslagruimte. Ik raad aan om een ​​dynamisch toegewezen harde schijf te gebruiken.

CoreOS Dynamic

Kies vervolgens de bestandslocatie en grootte. Ik liet de standaard CoreOS als de naam en koos voor een bestandsgrootte van 8 GB.

Bestemming van CoreOS-bestandsgrootte

Met uw CoreOS VirtualBox virtuele machine correct geconfigureerd, ga je gang en klik je op de groene knop Start.

CoreOS Start

Zodra u op Start klikt, moet u een opstartschijf selecteren. Navigeer naar de map waar je je CoreOS ISO vandaan hebt gehaald en ga verder.

Container Linux configureren

Na het starten van je CoreOS ISO begint Container Linux te laden. Je zult uiteindelijk zien dat een regel je CoreOS-versie geeft en een opdrachtregel leest:

core @ localhost

Typ in:

sudo openssl passwd -1> cloud-config-bestand
CoreOS Passwd Config

De opdrachtregel geeft een waarschuwing dat het configuratiebestand niet kan worden geopend. Voer uw gewenste wachtwoord in en ga verder. Voer vervolgens in:

cat cloud-config-bestand
CoreOS Cat Cloud Config

Dit retourneert een lange string en creëert een nieuw cloud-configuratiebestand. Open nu de cloud-configuratie in een visuele editor:

vi cloud-config-bestand
CoreOS VI

Dit laadt een cloud-configuratiebestand dat u kunt bewerken. CoreOS bevat een geavanceerd voorbeeldbestand met cloudconfiguratie:

CoreOS Cloud Config-voorbeeld

De mijne zag eruit als:

# cloud-config gebruikers: moe passwd: [SSL wachtwoord] groepen: - sudo - docker. 
CoreOS Cloud Config Ex

U kunt uw cloud-configuratiebestand controleren door het volgende in te voeren:

cat cloud-config-bestand
CoreOS Check Cloud Config

Dit retourneert uw configuratiebestand. Als alles er goed uitziet, ga dan verder met het installeren van CoreOS:

sudo coreos-install -d / dev / sda -C stabiel -c cloud-configuratiebestand
CoreOS Install Final

Je ziet een bericht dat CoreOS wordt gedownload, geschreven en geverifieerd. Zodra dat is voltooid, zie je een bericht met de tekst 'Succes! CoreOS [versie] is geïnstalleerd op / dev / sda. "

CoreOS-succes

Sluit uw virtuele CoreOS-machine af en start deze vervolgens opnieuw op. Zorg er bij het opstarten voor dat u de CoreOS ISO ontkoppelt, anders wordt de live-cd opnieuw uitgevoerd.

CoreOS wordt geladen en u krijgt een aanmeldingsprompt op de opdrachtregel:

localhost login:
CoreOS laatste login

Voer uw gebruikersnaam en wachtwoord in. Hierdoor wordt een bericht geladen met de tekst "Container Linux door CoreOS [versie]" en een nieuwe opdrachtregel.

Laatste login CoreOS

Hands-On met Container Linux: volgende stappen

Nu Container Linux by CoreOS correct is geïnstalleerd, kunt u beginnen met het instellen van containers en clusters. CoreOS-documentatie bevat een uitstekende Snelstartgids. Er is informatie over het ontdekken van services met behulp van etcd, evenals een sectie over containerbeheer met Docker. Ik heb een paar snelle tests uitgevoerd, zoals een "Hello World" Docker-pull. Bovendien heb ik een Plex Docker-image geïnstalleerd omdat ik een grote mediaserverfanaat ben. Ten slotte heb ik een vloot opgezet voor clusterbeheer.

Wat u als eerste wilt doen, is de belangrijkste componenten van Container Linux configureren:

  • enz
  • Docker
  • Vloot

Door deze drie primaire fundamenten te configureren, bent u klaar voor het ontdekken van services, clusterbeheer en het instellen van containers. Vervolgens kunt u aan de slag met het containeriseren van apps en veilig desktop-apps testen in een veilige Docker-container Veilig bureaubladtoepassingen testen in een veilige container met DockerDocker is een populair platform voor het ontwikkelen en testen van servergebaseerde applicaties. Maar wist u dat u het ook kunt gebruiken om veilig nieuwe programma's op uw bureaublad uit te voeren? Lees verder .

Hands-On met Container Linux: Final Thoughts

Ik gebruik niet vaak containers, maar Container Linux vereenvoudigde de implementatie. Documentatie is uitstekend met voorbeeldconfiguratiebestanden. Merk op dat voor beginners verschillende niet-officiële video-installatie tutorials maak CoreOS-installaties eenvoudiger. Hoewel CoreOS beweert dat Container Linux lichtgewicht is, was ik aanvankelijk sceptisch. Toch heb ik Container Linux opgestart in een virtuele machine met een vrij laag bronnenverbruik. En omdat ik wilde testen of Container Linux echt lichtgewicht was, gebruikte ik mijn verouderde HP laptop en ondervond ik geen problemen.

Sommige stappen in de eerste installatie zijn echter niet erg 'beginnersvriendelijk'. Het installeren en instellen van Container Linux vereist een robuuste Linux-vertrouwdheid. Ik heb met name het CoreUpdate-dashboard niet geprobeerd, dat CoreOS biedt als betaalde premiumfunctie. Hoewel ik geen problemen heb met het gebruik van de opdrachtregel, zou een grafische omgeving voor monitoring een leuke toevoeging zijn.

Systeembeheerders en databasebeheerders profiteren het meest van Container Linux. Voor thuisservers is het echter een eenvoudig en lichtgewicht middel om een ​​geclusterde omgeving te creëren. Bovendien kunt u met Container Linux een cluster vanaf één machine laten draaien. Maar Container Linux is een geweldige introductie tot het werken met containers. Als je meer wilt weten over Docker en containers, werkt Container Linux heel goed op een virtuele machine en biedt het alle bronnen die je nodig hebt om te beginnen.

Het is een uitstekende kant-en-klare oplossing voor beginnende containers, naast doorgewinterde DevOps-ingenieurs, sysadmins en databasebeheerders. Uiteindelijk is Container Linux van CoreOS een eenvoudig middel om een ​​schaalbare, efficiënte, gecontaineriseerde omgeving te creëren.

Gebruik je CoreOS? Ben je van plan? Laat ons weten hoe je containereert op Linux in de comments hieronder!

Moe Long is een schrijver en redacteur die alles omvat, van technologie tot entertainment. Hij behaalde een Engelse B.A. van de Universiteit van North Carolina in Chapel Hill, waar hij een Robertson Scholar was. Naast MUO is hij te zien geweest in htpcBeginner, Bubbleblabber, The Penny Hoarder, Tom's IT Pro en Cup of Moe.