Vad gör Kubernetes, och när ska du använda det?

0
197

Kubernetes är ett verktyg som hanterar alla rörliga delar bakom att köra program i behållare som Docker. Detta gör det mycket enkelt att skala din applikation, eftersom din serverinfrastruktur är åtskild från koden som körs på den.

Vad gör Kubernetes?

< p> Kubernetes nämns ofta vid sidan av Docker, men de utför olika uppgifter. Docker packar ihop applikationer och alla deras beroenden till enstaka filer, kallade containerbilder, som kan köras på en server utan någon manuell konfiguration. Docker -motorn liknar en virtuell maskin, men är mycket smalare och mer prestanda, designad helt enkelt för att köra en enda applikation i en isolerad miljö.

Kubernetes är en orkestrationsmotor och ger en plattform för att köra Docker -bilder på. Den stöder användning av Docker -bilder, eftersom de är det i särklass mest populära containerformatet. Med behållare kan du enkelt distribuera din kod utan att oroa dig för om servern är konfigurerad för att köra koden korrekt.

En master Kubernetes -server kommer att hantera ett kluster av arbetarnoder. Dessa arbetarnoder kan köra valfritt antal behållare som är förpackade i Kubernetes Pods. Huvudservern hanterar distributionen av Pods på arbetarnoder och försöker behålla en uppsättning konfiguration. Om din applikation möter mer trafik kan Kubernetes tillhandahålla fler resurser, och om en av dina servrar stöter på problem kan Kubernetes flytta Pods på den servern till resten av nätverket medan du åtgärdar problemet.

Kubernetes-arbetarnoder, med flera poddar igång dem.

Men Kubernetes tillhandahåller många funktioner i ett Platform as a Service (PaaS) -system, men det tillhandahåller faktiskt ingen hårdvara. Kubernetes är ren programvara och är öppen källkod. PaaS-system som AWS EKS bygger ovanpå Kubernetes och erbjuder i många fall möjligheten att tillhandahålla fler resurser för sig själv (automatisk skalning).

Varför använda Kubernetes?

Kubernetes tar med sig alla fördelar med Docker och containerisering i allmänhet. Behållare hjälper till att hålla din kod organiserad och hanterad, med alla beroenden på ett ställe. Din kod körs på samma sätt i en utvecklings- och testmiljö som den gör i produktionen, inga överraskningar.

Annonsering

Docker -bilderna som körs på Kubernetes -plattformen är separerade från själva plattformen och har ingen aning om att de körs i Kubernetes -böcker. Denna frikoppling av applikationer från infrastruktur gör Kubernetes extremt kraftfull som ersättning för din befintliga distributionscykel. Du behöver inte oroa dig för om din kod ska fungera korrekt på dina servrar.

En snabb utvecklingscykel sätter större press på ditt Ops -team för att oroa dig för att koden verkligen körs. Om du har problem med att hantera installationen och konfigurationen av din app på dina servrar varje gång din kod behöver uppdateras kan Kubernetes göra det mycket snabbare.

Och om du verkligen inte gillar att konfigurera och hantera servrar kan en hanterad Kubernetes -tjänst som AWS EKS lindra problemet och ta din app serverlöst. ”

Hur kommer jag igång?

Kubernetes är serviceagnostiker, så du kan konfigurera det själv på dina egna servrar om du vill. Kubernetes är dock ganska komplicerat, så det finns många nyckelfärdiga lösningar från de stora molnleverantörerna som använder sina resurser för att driva dina arbetarnoder. De kommer alla att vara Kubernetes -kompatibla, så du kommer att kunna växla mellan dem med minimala problem.

Om du vill konfigurera det själv kan du göra det med kubeadm verktygslåda. Du behöver en huvudmaskin för att köra kubeadm på, som styr en eller flera arbetsmaskiner som kör kubelet. Huvudmaskinen hanterar distributionen av behållaren till arbetsmaskinerna. Du kan läsa deras guide för att komma igång i Kubernetes -dokumenten för mer information, men var beredd på en natt med konfigurering.

Annonsering

AWS EKS är Amazons lösning som kan köra Kubernetes -appar i flera AWS -tillgänglighetszoner. EKS kräver inte mycket konfiguration alls; allt du behöver göra är att tillhandahålla nya noder. Du betalar 0,20 dollar per timme ($ 150 per månad) för varje löpande kluster, samt betalar för de EC2- och EBS -resurser som dina arbetarnoder förbrukar.

Om du inte behöver ett fullständigt Kubernetes -kluster men ändå vill köra containeriserade appar kan du använda AWS ’ s Elastic Behållarservice (ECS). ECS kör Docker -containrar och har ett eget skalningssystem.

Microsofts Azure Kubernetes Service (AKS) är en hanterad Kubernetes -tjänst som integreras bra med en Azure -pipeline, vilket gör det enkelt att gå från kod i källkontroll till behållare som distribueras i ditt Kubernetes -kluster.

Google är Kubernetes ursprungliga skapare, så naturligtvis erbjuder de en hanterad Kubernetes -tjänst via Google Cloud Platform.