Blog Azure Cloud native

Cloud native schalen op Kubernetes

Run je al je moderne applicaties, of ben je van plan dit te doen op Azure Kubernetes Service (AKS)? Dan weet je dat schaalbaarheid in een Cloud Native omgeving cruciaal is. Naarmate je groeit, wordt het een doorslaggevende factor.

Maar de vraag is hoe schaal je containers? En met welke technologieën kan je schalen op AKS? Lees dit artikel voor de meest populaire en effectieve schaaltechnologieën voor AKS. Let's get started!

Wesley Haakman

Auteur

Wesley Haakman Principal Azure Architect

Leestijd 3 minuten Gepubliceerd: 27 augustus 2024

Wat zijn nodes?

Nodes zijn virtuele machines. Ze hosten pods. Dit zijn de componenten, of terwijl de “bouwstenen” voor het draaien van gecontaineriseerde applicaties.

Schalen op AKS

Schalen op AKS is mogelijk met verschillende technologieën. Het hangt af van de behoeften en scenario's van de applicaties. Allereerst moeten we twee dingen in overweging nemen als we het hebben over schalen op AKS. We moeten de nodes (1) en de pods (2) schalen:

1) Schalen van de nodes betekent het toevoegen of verwijderen van nodes uit het cluster.
2) Schalen van de pods betekent het wijzigen van het aantal pod-replica's over de nodes.

Laten we eens kijken naar de beschikbare technologieën:

Cluster AutoScaler

“Stel je voor dat je applicatie altijd soepel draait, zonder problemen met resources.” Dat is precies wat de Cluster AutoScaler je brengt.

Het is een essentieel onderdeel dat de grootte aanpast van de node pool op basis van de vraag naar pods en de beschikbaarheid ervan. Hierdoor heeft je applicatie altijd de benodigde resources om optimaal te presteren.

Zo werkt het: Het monitort pods die niet kunnen worden gepland door een gebrek aan resources. Wanneer het systeem meer nodes nodig heeft, voegt het deze toe aan de node pool.

Maar dat is nog lang niet alles… de Cluster AutoScaler verwijdert ook onderbenutte nodes zonder planbare pods. Dit vermindert niet alleen de kosten, maar verhoogt ook de efficiëntie van het cluster. Minder kosten, meer efficiëntie — ideaal, nietwaar?

Het AKS-controlepanel laat de Cluster AutoScaler communiceren met Azure. Deze automatisering schaalt de Virtual Machine Scale set (Node Pools) — zonder dat je ook maar iets hoeft te doen.

Horizontal Pod Autoscaler

Deze functie schaalt het aantal pod-replica's. Het doet dit op basis van het CPU-gebruik of aangepaste metrics van de pods.

Het werkt zo: Je stelt een doelmetric-waarde en minimum en maximum replica-aantallen in voor elke implementatie of replica set. Dan monitort de HPA deze metrics en wijzigt het replica-aantal.

Voorbeeld: 
“Als het CPU-gebruik van de pods boven de 80% uitkomt, voegt het replica's toe. Dit gaat door totdat hun gemiddelde CPU-gebruik onder de 80% zakt.”

Kubernetes Event Driven Auto Scaler (KEDA)

Kubernetes Event Driven Auto Scaler (KEDA) is een open-source project. Het breidt de Horizontal Pod Auto Scaler uit om event-driven en serverloze apps te ondersteunen.

Het maakt het mogelijk om pod-replica's te schalen. Dit is afhankelijk van het aantal gebeurtenissen of berichten in de bronnen.

Dergelijke sources zijn o.a.:

  • Azure Queue Storage
  • Azure Event Hubs
  • Kafka
  • RabbitMQ

En niet te vergeten, het ondersteunt ook schalen naar nul. Zijn er geen evenementen? Dan schaal je de pod-replica's terug naar nul. Wanneer evenementen zich voordoen, kun je ze weer opschalen.

Het beste deel? Dit optimaliseert het gebruik van resources en de kosten van het cluster.

Node Auto Provisioning (preview)

Node Auto Provision (of NAP) is een nieuwe technologie die momenteel in preview is. Deze functie maakt het mogelijk om automatisch een virtuele machine te voorzien.

Maar hoe dan precies? NAP vervangt het schalen van een node pool of een Virtual Machine Scale set. NAP kan naar de behoeften van een implementatie kijken. Dan kan het elke benodigde machine voorzien met de juiste CPU en geheugen.

Echter, dit is nog niet alles… De machine zal worden uitgeschakeld zodra deze niet meer nodig is. Hoewel sommigen misschien beweren dat het nog geen “gebruikelijke” technologie is, is het zonder twijfel veelbelovend!

Conclusie

Ja, er zijn meer schaaltechnologieën om te implementeren... Maar voor nu hebben we de meest voorkomende uitgelicht die we bij onze klanten zien. Je kan als gebruiker de beste technologie kiezen op basis van gebruiksscenario's. Of, je kan er voor kiezen om ze te combineren voor optimale clusterschaalvergroting. 

Managed AKS

Ben je van plan om je oplossing op AKS te schalen?

Neem contact met ons op en laat ons je helpen prestaties en efficiëntie te bereiken!

Managed AKS by Intercept