Trace Id is missing
Gå til hovedinnhold

Distribusjonsstrategi for Kubernetes

Finn den optimale strategien for Kubernetes-distribusjon for programmet ditt.

Bli kjent med alternativene dine for Kubernetes-distribusjon

Enten du ønsker å redusere tiden til markedslansering, skape motstandskraftige distribusjoner uten nedetid, lansere apper og funksjoner raskere eller oftere, eller operere med en større fleksibilitet, er det å velge den riktige Kubernetes-distribusjonsstrategi nøkkelen til å levere motstandskraftige programmer og infrastruktur. Hver Kubernetes-distribusjonsstrategi har sine fordeler, avhengig av dine målsetninger og behov.

Slik fungerer Kubernetes-distribusjoner

Før du implementerer en Kubernetes-distribusjonsstrategi, må du forstå delene av en Kubernetes-distribusjon og hvordan de alle fungerer sammen.

Dette inngår i en Kubernetes-distribusjon

YAML-fil

Den ønskede tilstanden for Kubernetes-klyngen din – konfigurasjonen av podder – som du beskriver, som fungerer som grunnlag for en Kubernetes-distribusjon.

Podder

Beholderne, de delte ressursene og miljøet som appen eller arbeidsflyten trenger å kjøre.

ReplicaSet

Grupper med identisk konfigurerte podder kalles ReplicaSets, og sikrer at typen og antall podder som er beskrevet i YAML-filen for en Kubernetes-distribusjon, kjører til alle tider. Hvis en podd svikter, opprettes det en ny.

Kube-kontroller-administrator

Endrer klyngens gjeldende tilstand til å samsvare med ønsket tilstand i YAML, oppretter nye podder og ReplicaSets samt oppdaterer eller fjerner eksisterende.

Kube-planlegger

Bestemmer hvordan podder og ReplicaSets distribueres blant arbeidsnodene dine i tillegg til å distribuere trafikk til disse nodene.

Utrulling

Prosessen ved å rekonfigurere klyngen fra dens gjeldende tilstand til ønsket tilstand – oppnås i de fleste tilfeller uten nedetid.

Hvordan Kubernetes-utrullinger fungerer

  • Opprett en YAML-fil som beskriver konfigurasjon av klyngens ønskede tilstand (desired state configuration).
  • Bruk YAML-filen til klyngen gjennom kubectl, Kubernetes kommandolinjegrensesnitt.
  • Kubectl sender forespørselen til kube-apiserveren, som autentiserer og autoriserer forespørselen før endringen registreres i en database, etcd.
  • Kube-kontroller-lederen overvåker kontinuerlig systemet for nye forespørsler og arbeider mot å avstemme systemtilstanden til ønsket tilstand – opprette ReplicaSets, distribusjoner og podder i prosessen.
  • Når alle kontrollerne har kjørt, ser kube-planleggeren at det er podder i "ventende" tilstand fordi de ikke er planlagt å kjøre på en node ennå. Planleggeren finner egnede noder for poddene og kommuniserer deretter med kubelet-komponenten i hver node for å ta kontroll og starte distribusjonen.
En Kubernetes-utrulling

Brukstilfeller for Kubernetes-distribusjon

Rull ut beholderbaserte apper og arbeidsflyter gjennom Kubernetes på fire måter. Kubernetes-distribusjonsstrategien du bruker, kan benytte ett eller flere av disse brukstilfellene.

Opprett

Rull ut helt nye Kubernetes-podder og ReplicaSets.

Oppdater

Erklær en ny ønsket tilstand og rull ut nye podder og ReplicaSets på en kontrollert måte.

Tilbakerull

Reverser Kubernetes-utrullingen til en tidligere tilstand – nyttig om den aktuelle tilstanden ikke er stabil.

Skaler

Øk antallet podder og ReplicaSets i Kubernetes-distribusjonen uten å endre dem.

Kubernetes-distribusjonsstrategier

Den beste Kubernetes-distribusjonsstrategien for scenarioet ditt avhenger av mange faktorer: hvor mye nedetid du kan tolerere (hvis noe i det hele tatt), distribusjonsmiljøet, hvor sikker du er på stabiliteten til en ny versjon eller plattform, hvorvidt du trenger å gjennomføre testing samt hva du håper å lære, ressurskostnad og tilgjengelighet, samt forretningsmål. Her er fire vanlige distribusjonsstrategier som organisasjoner bruker i produksjon.

Trinnvis utrullingsdiagram

Trinnvis

Kubernetes’ standard utrullingsmetode er en trinnvis eller rullerende distribusjon. Denne distribusjonen erstatter sakte podder en om gangen for å unngå nedetid. Gamle poder skaleres bare ned etter at nye podder er klar. Hvis distribusjonen støter på problemer, kan du stanse eller avbryte Kubernetes-distribusjonen uten å koble fra hele klyngen.

Blått/grønt utrullingsdiagram

Blå/grønn

I en blå/grønn distribusjon lanserer du en ny versjon (blå) av programmet eller arbeidsflyten mens den gjeldende versjonen (grønn) fortsatt kjører. Dette gjør at du kan teste den blå versjonen i produksjon bare mens brukere er eksponert for den grønne, stabile versjonen. Når den blå versjonen er testet, vil den gradvis erstatte den grønne versjonen.

Diagram for utrulling med kontrollverdi

Kontrollverdi

La kundene dine teste Kubernetes-distribusjonen din ved å lansere den nye versjonen til en liten kundegruppe. Du vil kjøre et ReplicaSet av den nye versjonen sammen med den gjeldende versjonen, og etter en spesifisert tidsperiode uten feil skalerer du opp den nye versjonen mens du fjerner den gamle versjonen.

A/B-testdiagram

A/B-testing

På lik måte som en Kubernetes-distribusjonsstrategi med kontrollverdi, vil en strategi med A/B-testing ha en spesifikk kundegruppe som mål. Distribusjon av en A/B testing søker imidlertid å etablere mer enn en versjons stabilitet – det brukes til å teste hvor effektiv versjoner er i å oppnå forretningsmål. Den nye versjonen distribueres til brukere basert på faktorer som informasjonskapsler, geolokasjon, operativsystem og enhetstype, og den kjører ofte sammen med den gjeldende versjonen – og oppskalerer etter hvert som den nye versjonen viser hva den duger til.

Kubernetes-distribusjonsverktøy

Selv om du kan bruke kommandolinjen eller YAML-filer til å utføre enhver av disse Kubernetes-distribusjonsstrategiene, vil du bedre kunne benytte klyngene og distribusjon ved å implementere Kubernetes-distribusjonsverktøy og -tjenester som disse.

Azure DevOps

En komplett programforsyningskjede for å automatisere Kubernetes-distribusjon. Balanser hastighet og sikkerhet mens du leverer raskere skalert kode.

Helm

Et pakkeverktøy med åpen kildekode. Du kan installere, oppgradere og administrere Kubernetes-programmer som bruker diagrammer du oppretter, lager versjoner av, deler og publiserer.

Azure Kubernetes Service (AKS)

En høyt tilgjengelig, sikker og totaladministrert Kubernetes-tjeneste. Distribuer og administrer beholderbaserte apper i skyen.

Klar når du er det – prøv Kubernetes gratis på Azure