Kubernetes (uttales “CUBE-A-NET-IS”) er en åpen kildekodeplattform som hjelper med å administrere containerapplikasjoner som Docker. Enten du ønsker å automatisere eller skalere disse containerne på tvers av flere verter, kan Kubernetes øke distribusjonen. For å gjøre dette kan det bruke interne komponenter som Kubernetes API eller tredjepartsutvidelser som kjører på Kubernetes.
Denne artikkelen vil hjelpe deg å forstå de grunnleggende konseptene til Kubernetes og hvorfor det forårsaker et slikt seismisk skifte i servermarkedet, med leverandører så vel som skyleverandører, som f.eks. Azure og Google Cloud, som tilbyr Kubernetes-tjenester.
Kubernetes: En kort historie
Kubernetes er en av Googles gaver til open source-fellesskapet. Containerplattformen var en del av Borg, et internt Google-prosjekt i mer enn et tiår. Borg lot Google administrere hundrevis og til og med tusenvis av oppgaver (kalt “Borglets”) fra forskjellige applikasjoner på tvers av klynger. Hensikten var å effektivt bruke maskiner (og virtuelle maskiner) samtidig som man sørger for høy tilgjengelighet av kjøretidsfunksjoner.
Den samme arkitekturen var populær blant andre selskaper som lette etter måter å effektivt sikre høy tilgjengelighet. Et sted i 2015, så snart Kubernetes 1.0 kom ut, ga Google opp kontrollen over teknologien. Kubernetes er nå med en stiftelse som heter Cloud Native Computing Foundation (CNCF), som i seg selv er en del av Linux Foundation.
Hvordan Kubernetes fungerer
Ved å låne ideene til Borg-prosjektet, ga “Borglets” vei for “belger”, som er planleggingsenheter som inneholder containerne. I hovedsak har de individuelle IP-adresser som kommer inn i bildet når en container krever CPU, minne eller lagring.
Podene sørger for høy tilgjengelighet ved lastbalansering av trafikken i et round-robin-format. Videre er de inne i maskiner (eller virtuelle maskiner) kalt “arbeidernoder”, også kjent som “håndlangere”. Fra dette punktet kontrollerer en “masternode” hele klyngen ved å organisere containerisering ved hjelp av Kubernetes API. Docker er i stand til å kjøre i hver arbeidernode der den kan laste ned bilder og starte containere.
For å få API-tilkoblingen i en Kubernetes-klynge, kalles en CLI-syntaks kubectl
benyttes. Dette er en veldig viktig kommando fordi den kjører alle instruksjonene som masternoden serverer til arbeidernoder. Mestring kubectl krever litt læring, men når du først har lært deg, kan du begynne å bruke Kubernetes-klynger. Kubernetes så vel som Docker er skrevet på Go-programmeringsspråket.
applikasjoner
Kubernetes kan redusere server- og datasenterkostnadene drastisk på grunn av sin høye effektivitet i bruk av maskinene. Noen av de vanlige bruksområdene til Kubernetes inkluderer:
- Administrere applikasjonsservere. De fleste applikasjonsservere krever sikkerhet, konfigurasjonsadministrasjon, oppdateringer og mer, som kan kjøres ved hjelp av Kubernetes.
- Automatiske utrullinger og tilbakeslag. Med Kubernetes trenger du ikke å bekymre deg for produktutrulling eller tilbakeføring på tvers av flere endenoder.
- Implementering av statsløse apper. Nettapplikasjoner kan nå fjernstyres. For eksempel kan Kubernetes hjelpe deg med å kjøre Nginx-servere ved hjelp av en statsløs applikasjonsdistribusjon.
- Implementere stateful apps. Kubernetes kan kjøre en MySQL-database.
- Lagring av API-objekter. For forskjellige lagringsbehov sørger Kubernetes for ideell lagring fordi den bruker containerprinsipper.
- Ute av boksen klar. Kubernetes er veldig nyttig i applikasjoner utenom boksen som funn av tjenester, logging og overvåking og autentisering.
- IoT-applikasjoner. Kubernetes finner en økende bruk i IoT på grunn av sin enorme skaleringsevne.
- Løp hvor som helst. Du kan kjøre Kubernetes hvor som helst, inkludert i en koffert.
Oppsummert
Målet med Kubernetes er å utnytte databehandlingsressurser i størst mulig grad. Siden du kan orkestrere containere på tvers av flere verter, vil sluttnodene aldri ha ressursproblemer eller feil. Det hjelper med å skalere automatisk fordi du bare trenger å gi kommandoen en gang fra hovednoden, og å skalere applikasjoner er intet mindre enn revolusjonerende.
For å lære mer om Kubernetes, besøk dens offesiell nettside som inneholder opplæringsprogrammer.
Bildekreditt: Oskar Casquero