Azure Kubernetes Service in het Landing Zone Model: 4 belangrijke punten

13 juli 2023

Robin Verbeek

Door Robin Verbeek (Architect Azure & Integration)

Kubernetes is een veelgehoorde naam in de moderne IT-wereld, maar wat is het nu precies en wat kan je ermee? Het systeem is beschikbaar op diverse cloud platformen als een dienst, maar kan ook on-premises draaien. Wij leggen de focus op de Azure variant, de Azure Kubernetes Service. Robin Verbeek, Architect in het Azure & Integration team van Motion10, benadrukt in deze Technology Blog vier belangrijke onderwerpen voor het uitrollen van Azure Kubertnetes Service op de Azure Enterprise Landing Zone.

In het kort: Kubernetes is een open-source container orkestratie systeem dat gebruikt kan worden voor software deployment en -management. Kubernetes is in 2014 gestart als een project bij Google, maar tegenwoordig wordt het onderhouden door de Cloud Native Computing Foundation.

Wanneer het om applicaties en Kubernetes gaat, dan bedoelen we hiermee applicaties die uit containers opgebouwd zijn.

De volgende onderwerpen zijn belangrijk voor AKS in het Landing Zone Model:

  • Hoe is AKS opgebouwd in Azure en wie is verantwoordelijk voor de componenten?
  • Hoe zit het met kosten?
  • Waar begin je en welke documentatie kan gebruikt worden?
  • De AKS landing zone accelerator

Om AKS in een Azure omgeving uit te rollen is het van belang dat de Azure Enterprise Landing Zone op orde is. Het model dat hiervoor gebruikt kan worden is het Enterprise Landing Zone Model van Microsoft, dat beschreven wordt in het Cloud Adoption Framework (CAF).
Landing zones kunnen als bouwblokken – waarin je zelf de governance en security regelt – aan het Enterprise Landing Zone Model gekoppeld worden. AKS vormt net zo’n landing zone binnen een omgeving, waarvoor één of meerdere AKS-clusters uitgerold kunnen worden met dezelfde governance en security.

Hoe is AKS opgebouwd in Azure en wie is verantwoordelijk voor de componenten?
Een AKS-cluster bestaat uit 2 gedeelten:

  • Cluster Master
  • Klantgedeelte

De Cluster Master is Azure-managed, wat betekent dat Microsoft verantwoordelijk is voor het goed functioneren en beheer ervan. Het klantgedeelte is Customer-managed, waardoor de klant hier verantwoordelijk voor is. Dit is een overzicht van een AKS-cluster:

Blog Kubernetes 1

Om het overzicht inhoudelijk te begrijpen zijn dit enkele handige punten:

  • De Cluster Master is voor de core services en regelt de orkestratie
  • Op de nodes draaien de applicaties (containers) en onderbouwende diensten
  • Een node is een Azure virtual machine (met de daaraan verbonden kosten)
  • Beheer van de nodes is de verantwoordelijkheid van de klant (o.a. patching van het OS)

Hoe zit het met de kosten?
De kosten voor een AKS-cluster zijn gebaseerd op verschillende factoren, waaronder het type virtuele machines (VM’s) dat wordt gebruikt. Men kan de Azure prijscalculator raadplegen om de kosten voor een specifieke situatie inzichtelijk te maken.

Deze belangrijke componenten kunnen van invloed zijn op de kosten:

  • Virtuele machines: AKS maakt gebruik van VM’s om Kubernetes te hosten. De kosten variëren afhankelijk van het gekozen VM-type, zoals het aantal CPU’s, geheugengrootte en opslagcapaciteit
  • Opslag: Voor het opslaan van containerimages, logs en andere gegevens binnen een AKS-cluster kunnen kosten voor opslag in rekening worden gebracht. De kosten zijn afhankelijk van de gebruikte storageaccounts en de storage disks
  • Networking: Er kunnen kosten zijn verbonden aan het gebruik van netwerkdiensten binnen AKS, zoals ‘load balancers’, publieke IP-adressen en uitgaand dataverkeer
  • Azure Monitor: Bij gebruik van Azure Monitor om logs en monitoringgegevens te verzamelen en te analyseren, kunnen ook kosten gerekend worden
  • Overige services: Het gebruik van aanvullende services, zoals Azure Container Registry (ACR) voor het hosten van containerimages of Azure Log Analytics voor loganalyse, kan extra kosten met zich meebrengen

Het is aan te raden de documentatie over kostenberekening door te nemen, zodat je niet voor verassingen komt te staan.

Waar begin je en welke documentatie kan gebruikt worden?
AKS-clusters kunnen op verschillende manieren worden uitgerold, onder andere via de portal, Azure CLI, PowerShell, Bicep- en Terraform templates. Wij raden aan Infrastructure-As-Code te gebruiken, oftewel templates (Bicep of Terraform).

AKS is eenvoudig en snel uit te rollen maar er moeten wel keuzes worden gemaakt die passen bij de organisatie. In het begin is wellicht nog niet goed over alles nagedacht, of zijn nog niet alle mogelijkheden inzichtelijk. Begin dan met een proof-of-concept waarbij je een workload laat landen op het cluster, zodat je alle aspecten van AKS tegenkomt.
AKS wordt ook wel eens een ‘mini datacentertje’ binnen de Azure omgeving genoemd. Kortom, het is uitgebreid en daarom moet er goed over nagedacht worden voordat het in productie gaat. Dit geldt zowel voor het ontwerp als regelen van het beheer.

De AKS Landing Zone Accelerator
Microsoft heeft in het CAF scenario’s beschreven voor een aantal diensten die behoren tot het Modern Application Platform. Eén van deze scenario’s beschrijft specifiek belangrijke punten om rekening mee te houden bij het opbouwen van een AKS-platform in de Azure omgeving van een organisatie.
In het geval van een AKS landing zone gaat Microsoft uit van een aparte subscription in de Enterprise omgeving, met een koppeling aan het hub virtual network. De documentatie over de AKS Landing Zone Accelerator vind je hier. Er wordt ook verwezen naar een GitHub repository met code en een AKS Construction Helper, waarmee men een AKS-cluster kan configureren en uitrollen.
Hier volgt een baseline ontwerp van een AKS-cluster met daarbij de verschillende resources, zoals onder andere een Key Vault en Azure Container Registry:
Blog Kubernetes 2

De documentatie en uitleg behorend bij de afbeelding zijn hier terug te vinden.

Voordat men met Azure Kubernetes Service aan de slag gaat zal eerst kennis opgebouwd moeten worden over Kubernetes, de keuzes die gemaakt moeten worden om het in te zetten en de security aspecten die van belang zijn. Het begint allemaal bij een goed ontwerp dat bij de organisatie past, want een AKS Landing Zone moet als een puzzelstukje in de Enterprise Landing Zone passen om aan te sluiten bij de organisatie.

Azure Kubernetes Service gebruiken in jouw organisatie?

Wij ontdekken graag samen met jou welke waarde Azure Kubernetes Service kan toevoegen voor het IT-landschap van jouw organisatie. Neem voor inspiratie contact op met Merlijn Koppejan, Solution Lead bij ons Azure & Integration team.

Neem contact op