Kontakt os


Kubernetes har et markedsføringsproblem: Alle har hørt om det, halvdelen af branchen kører på det, og næsten ingen kan forklare, hvad det egentlig gør, i én sætning. Ikke nødvendigvis fordi det er kompliceret at bruge, men fordi det udfører tre forskellige opgaver på én gang. Det planlægger dine containere, håndhæver reglerne for, hvordan de opfører sig, og griber dem, når de fejler. Ét navn, tre roller.
Her er den korte version: Kubernetes er en open source-platform til containerorkestrering, der automatiserer udrulning, skalering og styring af containeriserede applikationer på tværs af en klynge af maskiner. Den bestemmer, hvilken maskine der kører hvad, hvor mange kopier der findes, og hvad der sker, når en af dem går ned. Det er det operationelle arbejde, som et team ellers ville skulle udføre manuelt hver gang – klokken tre om natten.
Det blev bygget af Google, baseret på over et årtis erfaring med at køre containere internt, og vedligeholdes nu af Cloud Native Computing Foundation (CNCF). Det er skrevet i Go og er tilgængeligt direkte eller via administrerede tjenester såsom AKS (Azure), EKS (AWS) og GKE (Google Cloud).
Kort sagt:
Denne guide gentager ikke, hvad den officielle dokumentation allerede gør godt. Den svarer kort på, hvad Kubernetes er, og bruger derefter det meste af tiden på det spørgsmål, der faktisk betyder noget, når du ved det: hvilken orkestreringsvej passer til dit team, og hvilken af vores sammenligningsguides besvarer din specifikke beslutning.
Kubernetes er en open source-platform til container-orkestrering, der automatiserer implementering, skalering og styring af containeriserede applikationer på tværs af en klynge af maskiner. Den bestemmer, hvilken maskine der kører hvad, hvor mange kopier der findes, og hvad der sker, hvis en af dem går ned.
Den blev bygget af Google, baseret på over et årtis erfaring med at køre containere internt, og vedligeholdes nu af Cloud Native Computing Foundation (CNCF). Den er skrevet i Go og er tilgængelig direkte eller via administrerede tjenester som AKS (Azure), EKS (AWS) og GKE (Google Cloud).
En Kubernetes-klynge kører på to bevægelige dele: et kontrolplan, der træffer beslutningerne, og worker-noder, der udfører arbejdet. Du beskriver den ønskede tilstand, antallet af replikaer, ressourcer og netværk, og Kubernetes bruger derefter resten af tiden på at sikre, at virkeligheden stemmer overens med den beskrivelse.
Tænk på det som en ejendomsadministrator, der aldrig sover. Du beder ikke administratoren om fysisk at flytte møbler. Du siger til dem: "denne etage skal altid have tre mødelokaler", og de klarer resten, inklusive brandøvelsen kl. 3 om natten, hvis et lokale bliver oversvømmet. Hvis en node går ned, flytter Kubernetes arbejdet et andet sted hen. Ingen behøver at blive tilkaldt.
Det er hele essensen i én sætning: fuld automatisering mod at man har en platform, som nogen skal køre, opdatere og forstå.
Før container-orkestrering betød skalering scripts, cron-jobs og en manual, som ingen rigtig stolede på. Én tekniker vidste, hvor alt befandt sig. Når vedkommende stoppede, forsvandt overblikket også.
Kubernetes erstatter dette med et deklarativt system. Du definerer den ønskede tilstand. Platformen afstemmer den løbende uden behov for, at et menneske tjekker overblikket, hver gang noget ændrer sig. Det er derfor, den er kernen i de fleste cloud-native arkitekturer – ikke fordi det er moderne, men fordi manuel containerstyring holder op med at fungere, når man har mere end en håndfuld tjenester. Ti containere kan du styre manuelt. Ved hundrede containere er manuel styring blot en nedbrudskandidat, der venter på at ske.
Vi så dette udspille sig på første hånd, da vi byggede TrustPortal, en enterprise-platform til hyper-automatisering, der betjener flere RPA-leverandører. Container-orkestrering var ikke den mest interessante beslutning. Det var derimod, hvor hver container måtte køre, og hvad den havde tilladelse til at gøre. At få det på plads, sammen med resten af platformarbejdet, reducerede TrustPortals driftsomkostninger med 40 til 50 procent.
Kubernetes er ikke den eneste orkestreringsplatform, og "hvilken er bedst" er sjældent det første spørgsmål, man bør stille. Det første spørgsmål er, hvad du reelt vælger imellem. Rå Kubernetes? Et administreret lag bygget ovenpå? Eller et helt andet værktøj, der er skabt til en mere specifik opgave?
Hver sammenligning herunder besvarer en forskellig version af det spørgsmål, fordi det ærlige svar afhænger af, hvad du står overfor.
Hvis du bygger på Azure, og dele af din arbejdsbyrde er stateful – hvilket betyder, at den indeholder data, der skal overleve et nedbrud – er det reelle spørgsmål, hvilken orkestrator der bedst matcher måden, dine data rent faktisk lever på.
Vores Azure Service Fabric vs. Kubernetes guide gennemgår den Workload Alignment Framework, vi bruger sammen med vores kunder: statefulness, cloud-portabilitet og økosystemintegration, vurderet ud fra din faktiske infrastruktur frem for en funktionsliste. Den indeholder også en hurtig beslutningsguide, som du kan anvende på din egen arbejdsbyrde på få minutter.
Når du har besluttet dig for Kubernetes som motor, er den næste beslutning, om du selv vil bygge bilen eller købe den færdig. Vores OpenShift vs. Kubernetes guide dækker Platform Ownership Test: dedikerede medarbejdere, compliance-krav og størrelsen på din infrastruktur – de tre tærskelværdier, der reelt afgør, om et Red Hat-abonnement tjener sig selv hjem, eller om det blot er en ekstra regning, ingen har budgetteret med.
Kubernetes' kompleksitet er berettiget i stor skala, men ikke under den. Hvis I er et lille team, der ønsker at være i produktion i denne uge frem for dette kvartal, er det reelle spørgsmål, om I overhovedet har brug for Kubernetes endnu. Vores Docker Swarm vs. Kubernetes guide gennemgår Operational Runway Test: teamstørrelse, kompleksitet i arbejdsbyrden og vækstkurve – de tre faktorer, der afgør, om Swarms enkelhed er en genvej eller en fælde.
Ikke alle arbejdsbyrder passer perfekt i en container, og ikke alle miljøer er en standard-cloud. Hvis du skal planlægge batch-jobs ved siden af containere eller deploye til bare metal, edge-enheder eller en generelt heterogen infrastruktur, begynder Kubernetes' antagelser at komme til kort. Vores Nomad vs. Kubernetes guide dækker Workload Shape Test, som vi bruger til at vurdere, om Nomads bredere model for arbejdsbyrder er det bedre match.
Kubernetes retfærdiggør sin kompleksitet ved en vis skala, men ikke under den. Et lille antal tjenester, ét team, intet krav om flere regioner: De driftsmæssige omkostninger ved at køre Kubernetes korrekt (opgraderinger hver fjerde måned, patch-vinduer, et platformsteam, som nogen skal finansiere) koster ofte mere, end de sparer.
Det er ikke så meget en svaghed ved Kubernetes som et mismatch. Det er bygget til organisationer, der kører mange tjenester på tværs af mange teams, ikke til et enkelt produkt med et lille, stabilt fodaftryk. At ansætte en ejendomsadministrator til en etværelses lejlighed er ikke ligefrem forkert. Det er bare ikke det, rollen er designet til.
Kubernetes er software, der automatiserer kørslen af containeriserede applikationer på tværs af en gruppe maskiner. Den beslutter, hvad der skal køre hvor, sørger for at holde det rette antal kopier kørende og genopretter automatisk systemet, hvis noget går galt.
Nej. Docker pakker en applikation ned i en container. Kubernetes orkestrerer mange containere på tværs af mange maskiner: planlægning, skalering, netværk og genopretning. De supplerer hinanden frem for at konkurrere.
Kun når du når en vis skala. Et lille antal tjenester med ét team bag sig har sjældent brug for det. Kubernetes kan betale sig, når du kører nok tjenester på tværs af nok teams til, at manuel koordinering bliver en flaskehals frem for en bekvemmelighed.
Kubernetes er selve open source-softwaren. AKS, EKS og GKE er administrerede tjenester, der kører Kubernetes for dig og håndterer kontrolplanet, så dit team slipper for det. Du skal stadig træffe de samme arkitektoniske beslutninger. Administrerede tjenester fjerner den operationelle byrde, ikke beslutningerne.
Det afhænger af, hvad du reelt skal beslutte. Hvis du bruger Azure med stateful workloads, så start med Azure Service Fabric vs Kubernetes. Har du allerede valgt Kubernetes og skal beslutte, om du vil administrere det selv eller købe en enterprise-platform? Start med OpenShift vs Kubernetes. Er I et lille team, der vil hurtigt ud med jeres løsninger? Start med Docker Swarm vs Kubernetes. Kører I blandede eller ikke-containeriserede workloads? Start med Nomad vs Kubernetes.
Imaginary Cloud bygger og driver containerplatforme til teams, der skal vælge mellem Kubernetes og alternativerne. Kontakt os hvis du vil have truffet den beslutning baseret på jeres antal af medarbejdere, compliance-krav og antal klynger.

Alexandra Mendes er Senior Growth Specialist hos Imaginary Cloud med 3+ års erfaring med at skrive om softwareudvikling, AI og digital transformation. Efter at have gennemført et frontend-udviklingskursus fik Alexandra nogle praktiske kodningsevner og arbejder nu tæt sammen med tekniske teams. Alexandra brænder for, hvordan nye teknologier former erhvervslivet og samfundet, og hun nyder at omdanne komplekse emner til klart og nyttigt indhold for beslutningstagere.

Inês Silva er projektleder med over fire års erfaring med at skrive om softwarelevering, agile metoder og teknisk ledelse. Da hun startede sin karriere som udvikler, bringer Inês en reel og dyb teknisk forståelse med ind i ledelsesarbejdet. Hun elsker at bygge bro mellem den overordnede forretningsstrategi og den daglige tekniske eksekvering, og hun brænder for at dele praktiske råd, der hjælper teams med at samarbejde bedre og levere fantastiske produkter.
People who read this post, also found these interesting: