Vad Kubernetes egentligen är, och hur orkestrering omdefinierar data center

0
6

Noll

Video: Vad är Kubernetes?

Syftet med Kubernetes är inte omedelbart uppenbart för vem som helst vars koncept av syfte och funktion i ett data center grundades i en tid när operativsystemet var den plattform på vilken all programvara berodde. Kubernetes är produkten av en massiv och pågående renodlingen av programvara resurser för att tillsammans bilda ett nätverk ansökan. Att anpassningen är centrerad kring ett begrepp som kallas arbetsbelastning, som är en bred definition av ett arbete som utförs av en eller flera ansökningar eller ett eller flera tjänster, över en mängd av processorer.

Måste läsa: Hur GitHub blev nexus av programvara för automatisering

En arbetsbelastning är ett jobb, till exempel, att hantera en försörjningskedja, och ansvarar för logistik, spårning och inventering, vilket underlättar en marknad för värdepapper. Kubernetes har blivit den moderna tidens job control system.

“Du kan tänka Kubernetes som en plattform för programmet mönster,” förklarade Google software engineer Janet Kuo, under en handledning session på KubeCon 2017 konferens. “De mönster som gör din ansökan lätt att installera, lätt att köra och lätt att hålla igång.”

the-concert-by-van-honthorst.jpg
(Bild: National Gallery of Art/public domain)

Den vikande stöd av virtuella maskiner

Det är en växande klass av data center infrastruktur som är anpassad för att koncentrera sig på hälsa och välbefinnande arbetsbelastning snarare än av servrar. Oavsett om de är fysiska processorer eller virtuella maskiner, servrar kan misslyckas. Konsekvenserna av att ett misslyckande på tillgänglighet och funktionalitet i dessa arbetsbelastning bör vara mindre än minimal-de ska inte verkar påverkas alls.

Fram till 2016, öppen källkod hade kommit upp med en handfull metoder för att iscensätta arbetsbelastning för maximal tillgänglighet. I en mycket kort tid, Kubernetes blev valet av företag som hade gjort investeringar i öppen källkod. Varför kan utgöra en hel bok, och om de skrivs tillräckligt bra, det kan anpassas till en av de konst-teater-film att vinna över kritiker men aldrig Oscarsgalan.

Läs också: Kubernetes leverantörer är överens om standardisering

Här kanske är den enda anledningen till att frågor: Google tidiga flytta för att sporra Linux Foundation är inrättandet av Native Cloud Computing Foundation (CNCF) gav Kubernetes tillräckligt med tid för att ekologiskt vårda en följd bland de bredaste gruppen av människor. Hela open-source affärsmodell kretsar kring värdet av stöd. Företag som inte längre lust att vara låst till en enda leverantör (som visserligen är inte alla) uppskattar den nyfunna värdet av mångfald i ett stödsystem. En grupp av leverantörer som agerar, om än inte alltid i samförstånd, så åtminstone med en smula samordning mot samma mål, är överlägsen en enda leverantör som leder en monopolistisk plattform i någon särskild riktning.

Varför Kubernetes frågor nu

Kubernetes är inte ägs av något företag, även om det är baserat på ett projekt som heter Borg som ursprungligen utvecklats internt på Google, och Google är ofta uppfattas som en de facto-ledare för Kubernetes att utveckla samhället. Som sagt, Microsoft har helt omarbetad hela server-system filosofi runt Kubernetes, och anställt flera av dess viktigaste skaparna. Som ett open-source-projekt, Kubernetes styrs av Native Cloud Computing Foundation (CNCF), en byrå av Linux Foundation.

Läs också: Kubernetes akademiker till fullständiga säkerheter, open-source program

Google ursprungligen avsedd Borg för att passa sin egen interna syften. Så det är mer än rättvist att använda Googles sökmotor själv som ett exempel: Den grundläggande jobb på jakt efter matchande poster i en sökning är genomförd av hundratals, kanske tusentals, av enskilda tjänster som delar ansvaret. Jag skulle säga att “otaliga”, men det är inte bara fel utan också strider mot hela poängen med Kubernetes. Det inte hålla räkningen på alla de tjänster och komponenter som utgör den aktiva jobb, eller jobb, i hela nätverket.

Inte Docker har något med detta att göra?

Det finns ingen bättre term för närvarande, tyvärr, för den behållare som dessa distribuerade bitar av program finns än “behållare”. (För ett tag, vi kallade dessa saker “Docker behållare” för att skilja dem från “Tupperware behållare,” men i dag, Docker omfattar endast en del av behållaren ekosystemet. plus, det finns mer än en form av behållare.) Om du är bekant med en ZIP-fil, som använder matematiska komprimering för att mosa flera filer ihop till en, då du redan vet ganska lite om modern programvara behållare. De gör faktiskt använda samma metod för att komprimera flera filer tillsammans. Dessa filer består av bara den körbara delar och data programmet skulle behöva köra, utan att behöva leta någon annanstans på nätet. En av dessa element som faktiskt kan vara en liten operativsystem — en miniatyriserad version av Linux, typiskt, eller från Microsoft, en liten kusin till Windows som kallas Nano-Server.

Läs också: Hur man får Kubernetes hjälp du behöver

Ett program som har skrivits för den här metoden av containrar distribution, till exempel en sökning svar, kunde se ut genom ett index av kopior av webbsidor för ett inlägg som inte har valts ännu, undersöka den semantiska ramen för denna post för matcher mot innehållet i den frågan, rank resultatet, och registrera det i en lista för senare samling och hämtning. Programmet skulle då upphöra. Detta är ett av kännetecknen för en distribuerad tjänst som gör det så annorlunda från ett PC-program: Det uppfyller en ansökan och sedan slutar. Det vet att det är en del av ett mycket större jobb, så när det fyller sin funktion, upphör det att existera. Programvara ingenjörer låna ett begrepp från modern filosofi för att beskriva denna aspekt: Ephemeralism. Till skillnad från en GUI-baserade program, som bokstavligen tillbringar de flesta av sina cykler väntar på ett svar från användaren, en kortlivad service fyller sin funktion och sedan går ut.

I en container nätverk (igen, så ledsen, men det finns inget bättre ord), program körs i isolering från varandra. Även om de kan dela samma processor och minne, värd operativsystem utanför behållare som bibehåller sin separation. (Teoretiskt denna gemensamma beroendet utnyttjas, men inga kända hotar utnyttja ännu inte existerar i det vilda.) Kommunikation kan endast ske mellan behållare genom en programvarudefinierade nätverk. En mer sofistikerad SDN kommer att ge dessa behållare nätverk adresser strategiskt, med hänsyn till hur de kommer att samlas tillsammans för att utföra en gemensam uppgift.

Vad det innebär att orkestrera arbetsbelastning

Här är där orkestrering kommer in i bilden. Till skillnad från “behållare” “orkestrering” är en term som beskriver perfekt den roll Kubernetes spelar. Medan vissa har illustrerat detta koncept med en dirigent, det är en stor skillnad mellan en ledare och en orchestrator, både i musik och i distribuerade applikationer. Lagen om orkestrering lägger ut mönster för enskilda program för att arbeta tillsammans, i samförstånd med varandra-som instrument i ett band. Medan kompositören producerar programvara ursprungliga mönster, inklusive dess melodiska linje och rytm (termen för montering av en programvara behållare är faktiskt sammansättning), orchestrator gör pjäsen hörbart.

“Det är därför jag kallar Kubernetes en” kombinerbar plattform,'”, förklarade Brian Gracely, chef för produktstrategi för Red Hat, under en senare bolag webinar. “Det är något av en ram för hur det ska se ut — och en del av detta kommer från Kubernetes samhället, en del av det kommer från år av erfarenhet inom gemenskapen, om hur man ska distribuera applikationer.”

Läs också: Varför Docker är äntligen omfattar Kubernetes – TechRepublic

Den orchestrator s huvudsakliga uppgift är att upprätthålla den operativa statusen för de program under dess förtroende. I en annan tid, det arbete som har anförtrotts till operativsystemet. Men det var när plattformen var en enda processor med en enda bank minne och dedikerad lagringsenheter. Idag finns det inte mycket väsentlig länk i en container service med någon större sammanhang av en ansökan. (Med den mest sofistikerade av dessa arkitekturer, som används av stora moln-tjänster som Netflix, ingen sådan koppling finns hos alla.) Ja, det är den orchestrator som tar funktioner och arbeta produkten av alla dessa tjänster, organiserar dem genom någon form av ett manifest, och kommer upp med ett visst sken av en ansökan. Ändra manifestet, och du kanske har ett annat program helt och hållet.

180703-red-hat-kubernetes-diagram.jpg
(Bild: Red Hat)

Det finns inget strukturellt unikt som skiljer Kubernetes från någon annan typ av ansökan. Det är inte en virtuell maskin. Dess orchestrator körs på ett operativsystem. När du kör, det hävdar en grupp av noder, som är ett mer abstrakt sätt för att hänvisa till servrar som kan vara fysiska eller virtuella. På var och en av dessa noder finns skida av behållare. Och inom var och en av dem är en client-side-agent som kallas kubelet, som förvaltar fungerar självständigt på uppdrag av orchestrator, för den nod som den tilldelats. Men även det är ett program som alla andra.

Läs också: Hur snabbt kan installera Kubernetes på Ubuntu – TechRepublic

Någon annanstans

Har Kubernetes Redan Blivit För Onödigt Komplicerat för Företag DET? Scott M. Fulton, III, Den Nya StackContext: Kubernetes, Internationaliserad, och Hur SAP har Byggt Sin Egen Container Plattform [podcast], Scott M. Fulton, III, Den Nya StackThe Tillstånd Kubernetes Ekosystem — e-bok co-skriven av Scott Fulton och bidragsgivare till Den Nya Stack

Relaterade Ämnen:

Cloud

Hårdvara

Servrar

Nätverk

Förvaring

0