Trace Id is missing
Naar hoofdinhoud gaan

Implementatiestrategie van Kubernetes

Vind de optimale Kubernetes-implementatiestrategie voor je toepassing.

Weet wat je Kubernetes-implementatieopties zijn

Of u nu de implementatietijd wilt verkorten, tolerante implementaties zonder downtime wilt maken, apps en functies sneller en vaker wilt uitbrengen of met meer flexibiliteit wilt werken, de keuze van de juiste Kubernetes-implementatiestrategie is essentieel voor het leveren van tolerante toepassingen en infrastructuur. Elke Kubernetes-implementatiestrategie heeft zijn voordelen, afhankelijk van je doelen en behoeften.

Hoe Kubernetes-implementaties werken

Voordat je een Kubernetes-implementatiestrategie implementeert, moet je de onderdelen van een Kubernetes-implementatie begrijpen en weten hoe deze samenwerken.

Wat zit er in een Kubernetes-implementatie

YAML-bestand

De gewenste status voor je Kubernetes-cluster (de configuratie van pods) die je beschrijft en die dient als de basis voor een Kubernetes-implementatie.

Pods

De containers, gedeelde resources en omgeving die je app of workflow moet uitvoeren.

ReplicaSet

Groepen identiek geconfigureerde pods worden ReplicaSets genoemd. Deze zorgen ervoor dat het type en het aantal pods beschreven in het YAML-bestand voor een Kubernetes-implementatie altijd worden uitgevoerd. Als een pod mislukt, wordt een nieuwe gemaakt.

Kube-controller-manager

Hiermee wijzig je de huidige status van het cluster zodat deze overeenkomt met de gewenste status zoals beschreven in het YAML-bestand. Hiermee maak je nieuwe pods en ReplicaSets, of je werkt bestaande bij of verwijdert deze.

Kube-scheduler

Hiermee bepaal je hoe je pods en ReplicaSets worden geïmplementeerd onder je werkknooppunten en distribueer je verkeer naar die knooppunten.

Implementeren

Het proces van het opnieuw configureren van het cluster vanaf de huidige status naar de gewenste status. Dit wordt in de meeste gevallen bereikt zonder downtime.

Hoe Kubernetes-implementaties werken

  • Maak een YAML-bestand dat de gewenste statusconfiguratie van het cluster beschrijft.
  • Pas het YAML-bestand toe op het cluster middels kubectl, de opdrachtregelinterface van Kubernetes.
  • Met kubectl verzendt u de aanvraag naar de kube-apiserver, die de aanvraag verifieert en autoriseert voordat de wijziging wordt vastgelegd in een database, enzovoort.
  • Met de kube-controller-manager controleer je het systeem continu op nieuwe aanvragen en stem je de systeemstatus af op de gewenste status. Hiermee maak je ReplicaSets, implementaties en pods.
  • Wanneer alle controllers zijn uitgevoerd, ziet de kube-scheduler dat er pods zijn met de status "in behandeling", omdat deze nog niet zijn ingepland om op een knooppunt te worden uitgevoerd. De scheduler zoekt geschikte knooppunten voor de pods en communiceert vervolgens met de kubelet in elk knooppunt om de besturing over te nemen en de implementatie te starten.
Een Kubernetes-implementatie

Gebruiksvoorbeelden van Kubernetes-implementatie

U kunt op vier manieren apps en workflows in containers uitrollen via Kubernetes-implementaties. Voor de Kubernetes-implementatiestrategie die je gebruikt, kan een of meer van deze gebruiksvoorbeelden worden gebruikt.

Maken

Implementeer volledig nieuwe Kubernetes-pods en ReplicaSets.

Update

Declareer een nieuwe gewenste status en implementeer nieuwe pods en ReplicaSets op een gecontroleerde manier.

Terugdraaien

Zet de Kubernetes-implementatie terug naar een eerdere status. Dit is handig als de huidige status niet stabiel is.

Schaal

Verhoog het aantal pods en ReplicaSets in de Kubernetes-implementatie zonder ze te wijzigen.

Implementatiestrategieën van Kubernetes

De beste Kubernetes-implementatiestrategie voor uw scenario hangt af van veel factoren: hoeveel downtime u zich kunt veroorloven (als u zich downtime kunt veroorloven), uw implementatie-omgeving, hoeveel vertrouwen u hebt in de stabiliteit van een nieuwe versie of een nieuw platform, of u wel of niet moet testen en wat u hoopt te leren, wat de resourcekosten en beschikbaarheid zijn en de zakelijke doelen. Hier volgen vier gangbare implementatiestrategieën die organisaties gebruiken in productie.

Geleidelijk implementatiediagram

Geleidelijk

De standaardimplementatiemethode van Kubernetes is een geleidelijke of doorlopende implementatie. Met deze implementatie worden pods langzaam, een voor een, vervangen om downtime te voorkomen. Oude pods worden pas omlaag geschaald wanneer de nieuwe pods klaar zijn. Als je tijdens je implementatie problemen tegenkomt, kun je de Kubernetes-implementatie pauzeren of annuleren zonder het volledige cluster offline te halen.

Blauw/groen implementatiediagram

Blauw/groen

In een blauw/groene implementatie breng je een nieuwe versie (blauw) van je toepassing of workflow uit, terwijl de huidige versie (groen) nog actief is. Zo kunt u de blauwe versie testen in productie terwijl voor gebruikers alleen de groene, stabiele versie zichtbaar is. Na de test wordt de groene versie geleidelijk vervangen door de blauwe versie.

Canary implementatiediagram

Canary

Laat je klanten je Kubernetes-implementatie testen door de nieuwe versie uit te brengen voor een kleine groep van deze klanten. Je voert één ReplicaSet van de nieuwe versie uit samen met de huidige versie en vervolgens, na een bepaalde periode zonder fouten, schaal je de nieuwe versie omhoog terwijl je de oude versie verwijdert.

A/B-testdiagram

A/B-testen

Vergelijkbaar met de canary Kubernetes-implementatiestrategie richt een A/B-teststrategie zich ook op een specifieke groep klanten. Een A/B-testimplementatie probeert echter meer dan de stabiliteit van een versie vast te stellen; deze implementatie wordt gebruikt om te testen hoe effectief de versie is in het bereiken van zakelijke doeleinden. De nieuwe versie wordt gedistribueerd naar gebruikers op basis van factoren als cookies, geolocatie, besturingssysteem en apparaattype, en wordt regelmatig naast de huidige versie uitgevoerd. Er wordt omhoog geschaald wanneer de nieuwe versie zijn nut heeft bewezen.

Implementatiehulpprogramma's van Kubernetes

Je kunt de opdrachtregel of YAML-bestanden gebruiken om al deze Kubernetes-implementatiestrategieën uit te voeren, maar je hebt meer baat bij je clusters en implementaties door Kubernetes-implementatiehulpprogramma's en -services als deze te implementeren.

Azure DevOps

Een volledige toeleveringsketen voor toepassingen om Kubernetes-implementaties te automatiseren. Breng snelheid en beveiliging in balans terwijl je sneller code op schaal levert.

Helm

Ee opensource-verpakkingshulpprogramma. Installeer, upgrade en beheer Kubernetes-toepassingen met behulp van grafieken die je maakt, van een versienummer voorziet, deelt en publiceert.

Azure Kubernetes Service (AKS)

Een maximaal beschikbare, veilige en volledig beheerde Kubernetes-service. Implementeer en beheer apps in containers in de cloud.

Als je er klaar voor bent, kun je Kubernetes gratis proberen in Azure