Hopp over navigasjon

Utrullingsstrategi for Kubernetes

Finn den optimale Kubernetes-utrullingsstrategien for programmet ditt

Vær klar over dine alternativer 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.

Ny på Kubernetes? Lær deg det grunnleggende

Hvordan Kubernetes distribusjoner fungerer

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

Hva som er 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, delte ressurser og miljøet som appen eller arbeidsflyten trenger å kjøre.

ReplicaSet

Grupper med identisk konfigurerte podder kalles ReplicaSets, som 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

  1. Opprett en YAML-fil som beskriver konfigurasjon av klyngens ønskede tilstand (desired state configuration).
  2. Bruk YAML-filen til klyngen gjennom kubectl, Kubernetes kommandolinjegrensesnitt.
  3. Kubectl sender forespørselen til kube-apiserveren, som autentiserer og autoriserer forespørselen før endringen registreres i en database, etcd.
  4. 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.
  5. Etter at alle kontrollere har kjørt, vil Kube-kontroller-lederen se at der er podder i «ventende»-tilstand fordi de ennå ikke har blitt planlagt til å kjøre på en node. Planleggeren finner egnede noder for poddene, og kommuniserer deretter med kubelet-komponenten i hver node for å ta kontroll og starte distribusjonen.

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.

Tilbakerulling

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

Kubernetes’ standard utrullingsmetode er en trinnvis eller rullerende utrulling. 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å/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.

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-testing

På lik måte som kontrollverdien til Kubernetes-utrullingsstrategi vil en strategi for 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 ettersom 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

Kan vi hjelpe deg?