Concept - Kubernetes-schaalopties

Voltooid

Soms is het schalen van het aantal pods voor het afhandelen van de toegenomen vraag niet voldoende. Om aan te passen aan veranderende toepassingsvereisten, zoals tussen de werkdag en avond of in een weekend, hebben clusters vaak een manier nodig om automatisch te schalen.

Kubernetes-schaalopties

Kubernetes-clusters kunnen worden geschaald met behulp van een van de volgende onderdelen:

  • De Automatische schaalaanpassing van clusters, waarmee wordt gecontroleerd op pods die niet op knooppunten kunnen worden gepland vanwege resourcebeperkingen. Het cluster verhoogt automatisch het aantal knooppunten om aan de vraag te voldoen.
  • De HPA (Horizontal Pod Autoscaler), die gebruikmaakt van de Metrics Server in een Kubernetes-cluster om de vraag naar resources van pods te bewaken. Als een toepassing meer resources nodig heeft, wordt het aantal pods automatisch verhoogd om aan de vraag te voldoen.

Zowel de HPA als de Cluster Autoscaler kunnen zo nodig ook het aantal pods en knooppunten verminderen. De automatische schaalaanpassing van clusters vermindert het aantal knooppunten wanneer er een periode is met ongebruikte capaciteit. Pods die zich op een knooppunt bevinden dat door de Cluster Autoscaler moet worden verwijderd, worden veilig elders in het cluster gepland.

De Cluster Autoscaler kan mogelijk niet omlaag schalen in situaties waarin de pods niet kunnen worden verplaatst, zoals:

  • Een pod wordt rechtstreeks gemaakt en wordt niet ondersteund door een controllerobject, zoals een implementatie of replicaset.
  • Een budget voor podonderbreking (PDB) is te beperkend en staat niet toe dat het aantal pods onder een bepaalde drempelwaarde valt.
  • Een pod maakt gebruik van node selectors of antiaffiniteit die niet kan worden uitgevoerd als deze op een ander knooppunt wordt gepland.

KEDA gebruiken met de HPA

KEDA fungeert als een aangepaste API voor metrische gegevens, met behulp van scalers om metrische gegevens beschikbaar te maken voor de HPA, waardoor het proces van het ontwikkelen van een metrische server wordt vereenvoudigd.

Scalers bieden metrische gegevens van verschillende bronnen aan de HPA. KEDA ondersteunt een groot aantal schaalders, waaronder:

  • Apache Kafka
  • AWS CloudWatch
  • AWS Kinesis Stream
  • AWS SQS-wachtrij
  • Azure Blob Storage (opslagservice van Microsoft)
  • Azure Event Hubs
  • Azure Log Analytics
  • Azure Monitor
  • Azure Service Bus
  • Azure Storage-wachtrij
  • Google Cloud Platform Pub/Sub
  • IBM MQ
  • InfluxDB
  • NATS-streaming
  • OpenStack Swift
  • PostgreSQL
  • Prometheus
  • RabbitMQ-wachtrij
  • Redis-lijsten

Voor de volledige lijst, zie Momenteel beschikbare scalers voor KEDA.

Uw kennis controleren

1.

Uw werklast voert CPU-intensieve fototransformatie uit. Welke schaaloptie moet u kiezen?

2.

Uw cluster komt bijna in de buurt van het gebruik van alle beschikbare resources tijdens piektijden. Welke schaaloptie moet u gebruiken?

3.

Uw service verwerkt berichten uit een Apache Kafka-wachtrij. Welke schaaloptie moet u kiezen?