Wat is Container Linux en moet je het gebruiken?

Wat is Container Linux en moet je het gebruiken? / Linux

Linux-besturingssystemen zijn er in verschillende smaken. Terwijl Linux-besturingssystemen zoals Ubuntu redelijk algemeen zijn, zijn andere nog steeds een niche. Daar is de op veiligheid gerichte Kali Linux. Lichtgewicht distributies zoals Xubuntu, en zelfs Hannah Montana Linux (!). Voor desktopgebruik functioneert een vanilla Linux-besturingssysteem goed. Voor gespecialiseerde taken, zoals het uitvoeren van een server, is het echter het beste om een ​​aangepaste versie te vinden.

Containers worden steeds populairder. Container Linux, voorheen bekend als CoreOS, is een Linux-besturingssysteem dat is ontworpen voor eenvoudige gecontaineriseerde implementaties. Het is een van de nieuwste niche Linux-besturingssystemen De nieuwste Linux-besturingssystemen voor elke niche De nieuwste Linux-besturingssystemen voor elke niche Linux-besturingssystemen worden voortdurend bijgewerkt, sommige zijn aanzienlijker 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 bekijk 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 ingewikkeld, maar het is vrij eenvoudig. In essentie bestaat een computercluster uit meerdere servers die samenwerken. Daarom functioneren ze als één eenheid of systeem in plaats van meerdere. Bovendien bevatten computers in een cluster knooppunten of servers die dezelfde functie uitvoeren. Dus een knoop is een enkele machine terwijl een cluster een groep servers is die samenwerken.

De meest voorkomende implementaties van Container Linux bevinden zich in clusteromgevingen. De distro die voorheen CoreOS heette, bevat zelfs de middelen om een ​​cluster vanaf slechts één machine te laten draaien. De bepalende functie van Container Linux is echter zijn afhankelijkheid van containers.

In tegenstelling tot een traditioneel desktopbesturingssysteem, draaien alle applicaties in containers. Hoewel zowel virtuele machines (VM) als containers gebruik maken van virtualisatiemethoden, verschillen containers van elkaar. In tegenstelling tot VM's gebruiken containers dezelfde besturingssysteem-kernel als de hostcomputer. Omdat container-apps en de host-machine dezelfde kernel gebruiken, profiteren containerimplementaties van verhoogde efficiëntie. In een configuratie van een virtuele machine voert elke VM een app en een gastbesturingssysteem uit. Dit werkt bovenop het besturingssysteem en de hardware van de host.

Gecombineerde implementaties draaien in plaats daarvan apps in hun eigen containers bovenop virtualisatiesoftware. Docker blijft de meest populaire containersoftware, hoewel chroot, LXC en Linux-VServer een van de Docker-alternatieven zijn.

Hands-On met Container Linux: waarom containers gebruiken?

OK, dus containers zijn een virtualisatiemethode. Waarom kiezen voor een gecontaineriseerde omgeving? Containers leveren doorgaans verbeterde prestaties. Door afzonderlijke besturingssystemen te vermijden en in plaats daarvan een gedeelde kernel te gebruiken, maximaliseert u de CPU-, opslag- en geheugenefficiëntie.

Omdat u niet meerdere besturingssystemen hoeft uit te voeren, zoals in een VM-configuratie, kunt u meer containers uitvoeren. Prestatieverbeteringen komen 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 wendbaarheid te behouden en continue levering en continue integratie mogelijk te maken.

Agile ontwikkeling concentreert zich op iteratie en factoring in onvoorspelbaarheid. Je kunt het Agile Manifest lezen voor meer inzicht in de agile filosofie. Ondanks de voordelen van containers is het echter geen perfecte virtualisatiemethode. Omdat containers de host-besturingssysteemkernel delen, is er een beveiligingsrisico. Elke kwetsbaarheid of inbreuk op een container krijgt toegang tot het besturingssysteem. Maar er is een oplossing voor het uitvoeren van gecontaineriseerde apps op een besturingssysteem binnen een virtuele machine. Dit zorgt ervoor dat het besturingssysteem van de hostcomputer wordt geïsoleerd van het besturingssysteem voor enkelvoudige hostcontainers.

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

Hands-On met Container Linux: Wat is Container Linux?

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 redelijk lichtgewicht. Om te testen, heb ik het Linux-besturingssysteem dat voorheen bekend stond als CoreOS in een virtuele machine uitgevoerd op een oudere HP Envy m6-1205dx AMD A10-laptop. Het verbruik van systeembronnen bleef redelijk laag.

Omdat Container Linux verschillende traditionele Linux-besturingssysteemfuncties op het bureaublad vermijdt, blijft de distributie lichtgewicht. In tegenstelling tot een desktopbesturingssysteem, zult u geen pakketbeheerder vinden. In plaats daarvan worden alle toepassingen als Docker-containers uitgevoerd. Dit zorgt voor overdraagbaarheid 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. Het CoreUpdate-dashboard biedt informatie over de status van de machine, actieve services en cluster-status. Maar het is alleen beschikbaar als een onderdeel van het Premium Managed Linux-abonnement.

Container Linux-architectuur

Container Linux is lichtgewicht en ontworpen voor containervervoer en clustering. Omdat er geen desktopomgeving is, werken de configuratiefuncties 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 aan te passen en clusters te beheren.

Verder, de etcd en vloot daemons blijven een integraal onderdeel van Container Linux. Beide services worden standaard bij het opstarten gestart. Bovendien laat het cloud-config-bestand tijdens het booten de host weten hoe hij zich bij een bestaande cluster kan voegen. De etcd daemon distribueert en slaat gegevens op voor hosts binnen een cluster. Het is essentieel voor het onderhoud van configuraties en het ontdekken van services. De vloot daemon is vergelijkbaar met 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 veronderstelt twee hoofdverantwoordelijkheden die optreden als zowel agent als motor. Als de engine voert de daemon planningsbeslissingen uit. Terwijl de agentzijde eenheden uitvoert. In het wagenpark, etcd is de enige datastore. Dergelijke informatie zoals clusteraanwezigheid, eenheidsstatus en eenheidsbestanden worden allemaal opgeslagen in de etcd demon. Bovendien is dit het medium voor communicatie met 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 in een virtuele machine. Iedereen die snelle, schaalbare, gecontaineriseerde implementaties nodig heeft, moet opteren voor Container Linux. Meestal zullen systeembeheerders en databasebeheerders het meest profiteren van Container Linux. Omdat Container Linux een desktopomgeving mist, is het het meest geschikt voor clusterbeheer en een serverinstelling. Als u op zoek bent naar een Linux-serverbesturingssysteem, is Container Linux een van de 12 beste Linux-server distro 12 Best Linux serverbesturingssystemen en wie moet ze gebruiken 12 Best Linux serverbesturingssystemen en wie zou ze moeten gebruiken Een server bouwen? Linux is ideaal, meestal met verbeterde rechten, verhoogde flexibiliteit en stabiliteit. Maar welke moet je kiezen? Bekijk de 12 beste Linux-serverbesturingssystemen en wie ze moet gebruiken. Lees meer s.

Air Pair heeft een uitstekende beschrijving van de incentives van CoreOS. In dit artikel wordt melding gemaakt van hoge beschikbaarheid, onderhoud van de productieomgeving, controle van de softwareversie en de etcd als belangrijkste draws voor het gebruik van Container Linux. Met name is er ook een ongelooflijk toegewijde open-sourcecommunity. Container Linux is op maat gemaakt voor doorgewinterde Linux-gebruikers. De hulpdocumentatie, hoewel uitgebreid, gaat uit van een matige mate van Linux-vertrouwdheid. Beginnende en beginnende gebruikers hebben misschien wat problemen met de eerste installatie.

Meer specifiek, cloud-config kan een uitdaging zijn. In het commentaargedeelte van één CoreOS-installatievideo stelde YouTube-gebruiker Setyoso Nugroho, “Leuke tutorial! Heel verwarrend bij het leren van # cloud-config bestandsconfiguratie in CoreOS.” Hoewel de configuratie niet erg moeilijk is, neemt Container Linux een sterke greep op 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 zijn officiële platforms Amazon EC2, DigitalOcean, Microsoft Azure, bare metal en OpenStack. Naast OSC's zoals Oracle Linux, CentOS en Suse, is CoreOS een van een handvol Azure-compatibele Linux-besturingssystemen Is Microsoft echt dol op Linux na alles? Houdt Microsoft werkelijk van Linux? Microsoft en Linux hebben een tumultueuze relatie gehad. In de loop der jaren 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 platforms zoals Packet, Rackspace, Brightbox, VirtualBox en VMware ook ondersteund. Ik vond de eenvoudigste methode het installeren van Container Linux op VirtualBox met behulp van een ISO-bestand. Hier is een korte handleiding voor het gebruik van VirtualBox Hoe VirtualBox te gebruiken: Gebruikershandleiding Virtueel bouwen gebruiken: gebruikershandleiding Met 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 heb de mijne gewoon CoreOS gebeld. Selecteer Linux voor het type. Gebruik als versie Linux 2.6 / 3.x / 4 / x (64-bit). Klik volgende.

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

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

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

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

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

Zorg dat uw virtuele CoreOS VirtualBox-machine correct is geconfigureerd, ga door en klik op de groene startknop.

Zodra u op Start klikt, moet u een opstartschijf selecteren. Navigeer naar de map waarin u uw CoreOS ISO hebt en ga verder.

Container Linux configureren

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

kern @ localhost

Typ in:

sudo openssl passwd -1> cloud-config-bestand

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

cat cloud-config-bestand

Dit retourneert een lange reeks en maakt een nieuw cloud-configuratiebestand. Open nu de cloud-config in een visuele editor:

vi cloud-config-bestand

Hiermee laadt u een cloud-configuratiebestand dat u kunt bewerken. CoreOS bevat een geavanceerd cloud-config voorbeeldbestand:

De mijne zag eruit als:

# cloud-config gebruikers: moe passwd: [SSL wachtwoord] groepen: - sudo - docker 

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

cat cloud-config-bestand

Hiermee wordt uw configuratiebestand geretourneerd. Als alles er goed uitziet, ga dan verder met het installeren van CoreOS:

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

U ziet een bericht dat CoreOS wordt gedownload, geschreven en geverifieerd. Zodra dat is voltooid, wordt er een bericht weergegeven dat zegt “Succes! CoreOS [versie] is geïnstalleerd op / dev / sda.”

Sluit uw CoreOS-virtuele machine af en start hem vervolgens opnieuw. Zorg er bij het opstarten van de back-up voor dat u de CoreOS ISO ontkoppelt, anders loopt de live-CD opnieuw.

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

localhost login:

Voer je gebruikersnaam en wachtwoord in. Dit laadt een bericht dat zegt “Container Linux door CoreOS [versie]” en een nieuwe opdrachtregel.

Hands-On met Container Linux: volgende stappen

Nu Container Linux door CoreOS correct is geïnstalleerd, kunt u beginnen met het instellen van containers en clusters. CoreOS-documentatie biedt een uitstekende snelstartgids. Er is informatie over het ontdekken van services met behulp van etcd en een gedeelte over containerbeheer met Docker. Ik voerde een paar snelle tests uit, zoals een “Hallo Wereld” Docker trekt. Bovendien heb ik een Plex Docker-afbeelding geïnstalleerd omdat ik een grote mediaserver-buff ben. Ten slotte heb ik een vloot opgezet voor clusterbeheer.

Wat u eerst wilt doen, is de hoofdcomponenten van Container Linux configureren:

  • etcd
  • havenarbeider
  • Vloot

Door deze drie basisfundamenten te configureren, bent u klaar voor het ontdekken van services, clusterbeheer en het instellen van containers. Dan kunt u aan de slag gaan met het containervervoer van apps en het veilig testen van desktop-apps in een veilige Docker-container. Hoe kunt u veilig bureaubladtoepassingen testen in een veilige container met docker? Veilige test van bureaubladtoepassingen in een veilige container met docker Docker is een populair platform voor het ontwikkelen en testen van server-gebaseerde applicaties. Maar wist u dat u het ook kunt gebruiken om nieuwe programma's op uw bureaublad veilig en veilig uit te voeren? Lees verder .

Hands-On met Container Linux: laatste gedachten

Ik gebruik niet vaak containers, maar vereenvoudigde implementatie door Container Linux. Documentatie is uitstekend met voorbeeldconfiguratiebestanden. Let op: voor beginners maken verschillende niet-officiële video-installatiehandleidingen CoreOS-installaties eenvoudiger. Hoewel CoreOS beweert dat Container Linux lichtgewicht is, was ik in eerste instantie sceptisch. Toch heb ik Container Linux geclusterd 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 aanbiedt 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 databaseadviseurs profiteren het meest van Container Linux. Voor thuisservers is dit echter een eenvoudig en lichtgewicht middel om een ​​geclusterde omgeving te maken. Bovendien kunt u met Container Linux een cluster van één enkele machine laten draaien. Maar Container Linux is een geweldige introductie tot het werken met containers. Als u meer wilt weten over Docker en containers, draait Container Linux echt goed in een virtuele machine en biedt het alle resources die u nodig hebt om aan de slag te gaan.

Het is een uitstekende out-of-the-box oplossing voor nieuwe deelnemers aan een container, naast ervaren DevOps-engineers, sysadmins en databasebeheerders. Uiteindelijk is Container Linux by CoreOS een eenvoudig middel om een ​​schaalbare, efficiënte, gecontaineriseerde omgeving te creëren.

Gebruikt u CoreOS? Ben je van plan? Laat ons weten hoe je containert op Linux in de comments hieronder!

Ontdek meer over: Linux, Linux Distro.