Kubernetes-udrulningsstrategi

Find den optimale Kubernetes-udrulningsstrategi til dit program

Kend dine Kubernetes-udrulningsmuligheder

Uanset om du vil forkorte tiden til markedet, oprette robuste udrulninger uden nedetid, udgive programmer og funktioner hurtigere eller oftere eller have større fleksibilitet i driften, er det vigtigt at vælge den rette Kubernetes-udrulningsstrategi for at kunne levere et robust program og en robust infrastruktur. Hver Kubernetes-udrulningsstrategi har sine fordele afhængigt af dine mål og behov.

Er du nybegynder i forhold til Kubernetes? Lær det grundlæggende

Sådan fungerer Kubernetes-installationer

Før du implementerer en Kubernetes-udrulningsstrategi, skal du forstå de forskellige dele i en Kubernetes-udrulning, og hvordan de fungerer sammen.

Hvad er der i en Kubernetes-installation?

YAML-fil

Den ønskede tilstand for din Kubernetes-klynge – konfigurationen af pods – som du beskriver, og som fungerer som grundlag for en Kubernetes-udrulning.

Pods

De objektbeholdere, delte ressourcer og det miljø, som dit program eller din arbejdsproces skal køre.

ReplicaSet

Grupper af identisk konfigurerede pods kaldes for ReplicaSets, som sikrer, at typen og antallet af pods, som er beskrevet i YAML-filen for en Kubernetes-udrulning, hele tiden kører. Hvis der opstår fejl på en pod, oprettes der en ny.

Kube-controller-manager

Ændrer den aktuelle tilstand af klyngen, så den matcher den ønskede tilstand, som beskrevet i YAML-filen, og opretter dermed nye pods og ReplicaSets samt opdaterer eller fjerner eksisterende.

Kube-scheduler

Fastslår, hvordan dine pods og ReplicaSets udrulles på dine arbejdsnoder foruden at distribuere trafik til disse noder.

Udrulning

Processen til rekonfigurering af klyngen fra den aktuelle tilstand til den ønskede tilstand, hvilket i de fleste tilfælde opnås uden nedetid.

Kubernetes-udrulningsarkitektur

Sådan fungerer Kubernetes-udrulninger

  1. Opret en YAML-fil, der beskriver den ønskede tilstandskonfiguration af klyngen.
  2. Anvend YAML-filen på klyngen via kubectl, som er kommandolinjegrænsefladen i Kubernetes.
  3. Kubectl indsender anmodningen til kube-apiserver, som godkender og autoriserer anmodningen, før ændringen registreres i databasen etcd.
  4. Kube-controller-manager overvåger kontinuerligt systemet for at se, om der er nye anmodninger, og arbejder mod at afstemme systemets tilstand med den ønskede tilstand, mens den opretter ReplicaSets, udrulninger og pods.
  5. Når alle controllere er kørt, ser kube-scheduler, at der er pods i tilstanden "afventer", fordi de endnu ikke er planlagt til at køre på en node. Planlæggeren finder passende noder til de pågældende pods og kommunikerer derefter med kubelet i hver node for at tage styringen og starte udrulningen.

Use cases for Kubernetes-udrulning

Udrul programmer og arbejdsprocesser, der er placeret i objektbeholdere, via Kubernetes-udrulninger på fire måder. Der kan gøres brug af en eller flere af disse use cases i den Kubernetes-udrulningsstrategi, du bruger.

Create

Udrul helt nye pods og ReplicaSets til Kubernetes.

Opdater

Deklarer en ny ønsket tilstand, og udrul nye pods og ReplicaSets på en kontrolleret måde.

Annullering af opdatering

Lav en Kubernetes-udrulning om til en tidligere tilstand. Det er nyttigt, hvis den aktuelle tilstand ikke er stabil.

Skalering

Øg antallet af pods og ReplicaSets i Kubernetes-udrulningen uden at ændre dem.

Kubernetes-udrulningsstrategier

Den bedste Kubernetes-udrulningsstrategi til dit scenarie afhænger af mange faktorer: Hvor meget nedetid du kan klare (hvis nogen), dit udrulningsmiljø, hvor meget tillid du har til stabiliteten af en ny version eller platform, om du har brug for at teste, samt hvad du håber på at lære, ressourceomkostninger og tilgængelighed samt forretningsmål. Her er fire almindelige udrulningsstrategier, som organisationer bruger i produktion.

Fuldt etableret

Kubernetes' standardudrulningsmetode er en fuldt etableret eller rullende udrulning. Med denne udrulning erstattes pods langsomt en ad gangen for at undgå nedetid. Gamle pods skaleres først ned, når nye pods er klar. Hvis der opstår problemer med din udrulning, kan du sætte Kubernetes-udrulningen på pause eller annullere den uden at gøre hele klyngen offline.

Blå/grøn

I en blå/grøn-udrulning udgiver du en ny version (blå) af dit program eller din arbejdsproces, mens din aktuelle version (grøn) stadig kører. Dette giver dig mulighed for at teste den blå version i produktion, mens brugerne kun udsættes for den grønne, stabile version. Når den blå version er blevet testet, erstatter den gradvist den grønne version.

Foruddefineret kontrolværdi

Giv dine kunder mulighed for at teste din Kubernetes-udrulning ved at udgive den nye version til en mindre gruppe brugere. Du kører ét ReplicaSet af den nye version sammen med den aktuelle version, og efter en periode uden fejl skalerer du derefter den nye version op, i takt med at du fjerner den gamle version.

A/B-test

Meget lig den foruddefinerede Kubernetes-udrulningsstrategi er en A/B-test målrettet en bestemt gruppe forbrugere. I en A/B-testudrulning forsøger man dog at fastslå mere end versionens stabilitet – den bruges til at teste, hvor effektiv versionen er til at opnå forretningsmålene. Den nye version distribueres til brugerne ud fra faktorer som cookies, geo-lokation, operativsystem og enhedstype, og den køres ofte ved siden af den aktuelle version, hvor der skaleres op, når den nye version har bevist sit værd.

Værktøjer til Kubernetes-udrulning

Selvom du kan bruge kommandolinjen eller YAML-filer til at udføre enhver af disse Kubernetes-udrulningsstrategier, kan du få større kontrol over dine klynger og udrulninger ved at implementere værktøjer og tjenester til Kubernetes-udrulning som disse.

Azure DevOps

En komplet forsyningskæde til programmer for at automatisere Kubernetes-udrulninger. Balancér hastighed og sikkerhed, i takt med at du leverer kode hurtigere i stor skala.

Få mere at vide

Helm

Et pakkeværktøj med åben kildekode. Installér, opgrader og administrer Kubernetes-programmer ved hjælp af diagrammer, du opretter, versionerer, deler og publicerer.

Få mere at vide

Azure Kubernetes Service (AKS)

En yderst tilgængelig, sikker og fuldt administreret Kubernetes-tjeneste. Udrul og administrer programmer, der er placeret i objektbeholdere, i cloudmiljøet.

Få mere at vide

Vi er klar, når du er – prøv Kubernetes gratis på Azure