Kubernetes

Kubernetes vs Docker

Kubernetes vs Docker
Kubernetes og Docker er stigende. Begge teknologier har haft meget forskellige rødder, men er blevet sammenflettet i de senere år på måder, som ingen forventede dem. Samfundene er kommet sammen, pakkerne porteres blandt alle mulige operativsystemer, og da de stort set er open source, gav de anledning til en overflod af satellitprojekter og konkurrenter.

Alt dette kan være overvældende for enhver ny bruger, der prøver at give mening om dette relativt nye paradigme. Lad os diskutere de store forskelle mellem Kubernetes og Docker ved først at tage et dybere dykke ind i, hvad teknologierne virkelig betyder. Hvis du har en vis fortrolighed med, Docker eller K8 (forkortelse for Kubernetes), kan du springe videre og læse afsnittet TL; DR.

Hvad er Docker?

Docker er en containeriseringsteknologi. Du kan køre flere applikationer, alle isoleret fra hinanden på det samme operativsystem uden behov for virtualisering, men alle fordelene ved et virtualiseret miljø. Tænk på Docker-containere som virkelig lette VM'er til Linux (også Windows, men det er ikke så populært).

Docker har 3 hovedkomponenter, først Docker-motoren, der kører i baggrunden og administrerer kørende containere og deres klargøring. Det udsætter en REST API, som Docker-klienten bruger, og dette gør det muligt for brugere at interagere med Docker og skabe nye containere eller administrere de kørende.

Docker er dog et enkelt systemapplikation. Det betyder, at det kører og administrerer containere på det system, det tilfældigvis kører på.  Enorme applikationer med ton trafik og millioner af anmodninger, der rammer dem fra hele verden, har brug for mere end en server. Det er her Kubernetes kommer ind.

Hvad er Kubernetes?

Kubernetes udnytter containeriseringsteknologier, som Docker, til at køre flere replikaer af din applikation på tværs af servere og datacentre over hele kloden.

En af de containeriseringsteknologier, som Kubernetes bruger, er Docker. Kubernetes består af en hel række forskellige software til styring af din klynge. Det giver en ledelsesagent kubeadm, der kører på et par udvalgte masternoder (noder er VPS eller fysiske servere), og så er der arbejdernoder med Docker installeret på dem med en kubectl som taler med Docker-motoren for at automatisere processen med at spinde containere op eller tage dem ned. Kubectl-agenterne, der kører på alle medarbejdernoder, modtager ordrer fra masternoden og giver dem feedback om tilstanden for applikationen, der kører på deres node. Sådan fungerer en K8-installation typisk.

Du kan også samle forskellige relaterede Docker-containere i pakker (kaldet bælg). For eksempel kan du sammensætte SQL-database og Redis-cache-containere sammen i en pod, da du vil have database og dens cache til at eksistere sammen.

På samme måde kan du eksponere bælg til de andre bælg som tjenester (også kendt som mikroservices), så du kan få 50 SQL / Redis-bælg eksponeret som datalagertjenesten til front-enden af ​​din applikation og så videre. Fordelen, du får, er, at de 50 bælg kan løbe på tværs af flere datacentre, og selvom et par af dem går ned, vil andre afhente slap.

Kubernetes er meget mere end en teknologi. Det er en måde at argumentere for at køre din software på tværs af et distribueret system.

Kubernetes uden Docker

Som du kan se fra ovenstående, er K8 stærkt afhængig af containere. Docker er kun en af ​​mange containeriseringsteknologier, der er derude. Andre inkluderer rkt af CoreOS, LXC af Canonical, fængsler på FreeBSD og zoner i Illumos og SmartOS. Kubernetes kan potentielt implementeres oven på enhver af disse teknologier. Faktisk fungerer det ganske godt med rkt af CoreOS.

På grund af Dockers popularitet er samfund og organisationer gået ud over at sikre, at Docker tilbyder alt, hvad Kubernetes 'specifikationer beder den om at. Det er på grund af denne grund, at selv projekter som Docker på macOS og PC er Kubernetes-certificerede.

Docker uden Kubernetes

Den måde, Kubernetes har en af ​​de fineste understøttelser, mens du bruger Docker, er Docker selv stærkt afhængig af Kubernetes for at implementere containere i stor skala. Docker har sit eget containeradministrations- og orkestrationssystem kendt som Docker Swarm, som formodes at være et Kubernetes-alternativ.

På trods af at Docker Swarm er en indfødt teknologi på Docker, er Kubernetes det, folk beder om, og de nuværende markedsfremskrivninger synes at indikere, at K8 vil vinde den største markedsandel. Docker skylder sin succes i vid udstrækning på grund af sin symbiose med Kubernetes.

TL; DR

For at afkorte en lang historie kort er Docker en containeriseringsteknologi beregnet til at køre på en enkelt computer. Kubernetes er en styringsteknologi, der administrerer et stort antal containere på tværs af mange computernoder.

Docker er tilfældigvis en af ​​de mest velegnede teknologier derude til at bygge din K8-stack med. Du starter med at sikre, at din applikation kører som en dockercontainer, så sikrer K8, at denne container kan skaleres over hele kloden, hvis behovet for at gøre det opstår i fremtiden.

Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...