Wat is Azure Kubernetes Service?

Voltooid

Laten we beginnen met een paar definities en een korte rondleiding door de AKS (Azure Kubernetes Service). Dit overzicht bevat informatie om u te helpen bepalen of AKS een goed platform is voor uw strategie voor containerisatiebeheer.

Wat is een container?

Een container is een atomische software-eenheid die code, afhankelijkheden en de configuratie voor een specifieke toepassing verpakt in een pakket. Met behulp van containers kunt u monolithische toepassingen opsplitsen in de afzonderlijke services waaruit de oplossing bestaat. Door deze herarchitectering van onze toepassing kunnen we deze afzonderlijke services implementeren via containers.

Diagram that shows server or application replicated as containers for cloud deployment.

Redenen om containers te gebruiken.

Stel dat uw oplossing voor het bijhouden van assets drie belangrijke toepassingen bevat:

  • Een traceringswebsite met kaarten en informatie over de assets die worden bijgehouden.

  • Een gegevensverwerkingsservice waarmee gegevens worden verzameld en verwerkt die worden verzonden vanaf bijgehouden assets.

  • Een MSSQL-database voor het opslaan van klantgegevens die zijn vastgelegd op de website.

U realiseert zich dat u uw oplossing moet uitschalen om te voldoen aan de vraag van klanten.

Virtuele machines (VM)

Eén optie is het implementeren van een nieuwe virtuele machine voor elke toepassing, gehost in meerdere regio's. Kopieer vervolgens de toepassingen naar uw nieuwe VM's. Als u dit doet, bent u echter verantwoordelijk voor het beheer van elke VM die u gebruikt.

De onderhoudsoverhead neemt toe naarmate u schaalt. Versies en afhankelijkheden van het VM-besturingssysteem voor elke toepassing moeten worden ingericht en geconfigureerd om overeen te komen. Wanneer u upgrades toepast voor uw toepassingen die van invloed zijn op het besturingssysteem en belangrijke wijzigingen, zijn er voorzorgsmaatregelen. Als er fouten optreden tijdens de upgrade, is het terugdraaien van de installatie vereist en veroorzaakt dit onderbrekingen, zoals downtime of vertragingen.

Diagram that shows replicated servers as VMs in the cloud and how the problem raises migration questions and problems.

De implementatie in het vorige diagram is lastig, soms foutgevoelig en kan niet eenvoudig één services schalen. U kunt bijvoorbeeld niet eenvoudig de cacheservice schalen die wordt gebruikt in de webtoepassing. Dit soort problemen kan worden opgelost met behulp van containers.

Het containerconcept biedt drie grote voordelen:

  1. Onveranderbaarheid: door de onveranderlijke aard van een container kan deze op betrouwbare wijze worden geïmplementeerd en uitgevoerd met hetzelfde gedrag van de ene rekenomgeving naar de andere. Een containerinstallatiekopie die in een QA-omgeving wordt getest, is dezelfde containerinstallatiekopie die naar productie is geïmplementeerd.

  2. Kleinere grootte : een container is vergelijkbaar met een VIRTUELE machine, maar zonder de kernel voor elke machine. In plaats daarvan delen ze een hostkernel. VM's gebruiken een groot installatiekopieënbestand om zowel het besturingssysteem als de toepassing op te slaan die u wilt uitvoeren. Een container heeft daarentegen geen besturingssysteem nodig, alleen de toepassing.

  3. Lichtgewicht : de container is altijd afhankelijk van het geïnstalleerde besturingssysteem van de host voor kernelspecifieke services. De lichtgewicht eigenschap maakt containers minder resource-intensief, dus het installeren van meerdere containers is mogelijk binnen dezelfde rekenomgeving.

  4. Opstarten is snel : containers worden binnen enkele seconden opgestart, in tegenstelling tot VM's. Dit kan enkele minuten duren om te starten.

De bovenstaande voordelen maken containers een populaire keuze voor ontwikkelaars en IT-bewerkingen en waarom velen zijn overgeschakeld van VM's.

Wat is containerbeheer?

Diagram that shows replicated servers as multiple containers in the cloud.

Hoewel containers functioneel vergelijkbaar zijn met VM's, variëren hun doeleinden. Een container heeft een afzonderlijke levenscyclus die bestaat als een tijdelijke machine. De status doorloopt de fasen van wachtend, actief en beëindigd. Deze levenscyclus maakt containers meer wegwerpbaar en heeft invloed op de wijze waarop ontwikkelaars en IT-activiteiten denken aan het beheer van grote onderling verbonden toepassingen. Containerbeheer omvat het implementeren, upgraden, bewaken en verwijderen van containers.

Stel dat u ontdekt dat er 's middags meer siteverkeer is, zodat u meer exemplaren van de cacheservice van de site nodig hebt om de prestaties te beheren. U bent van plan dit probleem op te lossen door meer cacheservicecontainers toe te voegen.

Nu is het tijd om een nieuwe versie van uw cacheservice uit te rollen. Hoe werkt u alle containers bij? Hoe verwijdert u alle oudere versies?

Voor deze typen taakverdelingsvragen is een systeem vereist voor het beheren van uw containerimplementatie.

Wat is Kubernetes?

Kubernetes is een draagbaar, uitbreidbaar opensource-platform voor het automatiseren van de implementatie, het aanpassen van de schaal en het beheer van in containers geplaatste workloads. Kubernetes abstraheert complex containerbeheer en biedt ons een declaratieve configuratie voor het organiseren van containers in verschillende rekenomgevingen. Dit indelingsplatform biedt ons hetzelfde gebruiksgemak en de flexibiliteit van PaaS- (Platform as a Service) en IaaS-aanbiedingen (Infrastructure as a Service).

Diagram that shows replicated servers as multiple containers in a Kubernetes cluster.

In Kubernetes kunt u uw datacentrum als één grote computer zien. We maken ons geen zorgen over het hoe en waar we onze containers implementeren, alleen over het implementeren en schalen van onze toepassingen wanneer we dat nodig hebben.

Hier volgen enkele aanvullende aspecten om rekening mee te houden over Kubernetes:

  • Kubernetes is geen volledige PaaS-aanbieding. Het werkt op containerniveau en biedt alleen een algemene set PaaS-functies.

  • Kubernetes is niet monolithisch. Het is niet maar één toepassing die wordt geïnstalleerd. Aspecten zoals implementatie, aanpassing van de schaal, taakverdeling, logboeken en controle zijn allemaal optioneel.

  • Kubernetes beperkt niet de typen toepassingen die moeten worden uitgevoerd. Als uw toepassing kan worden uitgevoerd in een container, wordt deze uitgevoerd op Kubernetes.

  • Uw ontwikkelaars moeten inzicht hebben in concepten zoals microservicesarchitectuur om optimaal gebruik te kunnen maken van containeroplossingen.

  • Kubernetes biedt geen middleware, frameworks voor gegevensverwerking, databases, cachegeheugens of clusteropslagsystemen. Al deze items worden uitgevoerd als containers of als onderdeel van een ander serviceaanbod.

  • Een Kubernetes-implementatie wordt als cluster geconfigureerd. Een cluster bestaat uit ten minste één primaire machine of besturingsvlak en een of meer werkmachines. Voor productie-implementaties is de voorkeursconfiguratie een implementatie met hoge beschikbaarheid met drie tot vijf gerepliceerde besturingsvlakmachines. Deze werkcomputers worden ook wel knooppunten of agentknooppunten genoemd.

Met alle voordelen die u met Kubernetes ontvangt, bent u verantwoordelijk voor het vinden van de beste oplossing die aansluit bij uw behoeften om deze aspecten aan te pakken. Houd er rekening mee dat u verantwoordelijk bent voor het onderhouden van uw Kubernetes-cluster. U moet bijvoorbeeld besturingssysteemupgrades en de Kubernetes-installatie en -upgrades beheren. U beheert ook de hardwareconfiguratie van de hostcomputers, zoals netwerk, geheugen en opslag.

Notitie

Kubernetes wordt soms afgekort tot K8s. De 8 staat voor de acht tekens tussen de K en de s van het woord K[ubernete]s.

Wat is azure Kubernetes Service (AKS)?

Diagram that shows replicated servers as multiple containers in an AKS Kubernetes cluster.

AKS beheert uw gehoste Kubernetes-omgeving en maakt het eenvoudig om containertoepassingen in Azure te implementeren en te beheren. UW AKS-omgeving wordt ingeschakeld met functies zoals geautomatiseerde updates, zelfherstel en eenvoudige aanpassing van de schaal. Azure beheert het besturingsvlak van uw Kubernetes-cluster gratis. U beheert de agentknooppunten in het cluster en u betaalt alleen voor de VM's waarop uw knooppunten worden uitgevoerd.

U kunt uw cluster maken en beheren in Azure Portal of met de Azure CLI. Wanneer u het cluster maakt, zijn er Resource Manager-sjablonen om het maken van clusters te automatiseren. Met deze sjablonen hebt u toegang tot functies zoals geavanceerde netwerkopties, Microsoft Entra Identity en resourcebewaking. Vervolgens kunt u triggers en gebeurtenissen instellen om de clusterimplementatie voor meerdere scenario's te automatiseren.

Met AKS krijgt u de voordelen van opensource Kubernetes zonder de extra complexiteit of operationele overhead die alleen Kubernetes kan met zich meebrengen.