Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Event Driven workloads on Kubernetes with KEDA

9e33a1d43a88f23f6c545c1e0f07f4b5?s=47 Nilesh Gule
February 27, 2021

Event Driven workloads on Kubernetes with KEDA

Slide deck of the presentation done at the Pune User Group on 27th February 2021. Demonstrate how Kubernetes based event driven autoscaling (KEDA) can be used with RabbitMQ as the event source.

9e33a1d43a88f23f6c545c1e0f07f4b5?s=128

Nilesh Gule

February 27, 2021
Tweet

More Decks by Nilesh Gule

Other Decks in Technology

Transcript

  1. Nilesh Gule @nileshgule | www.HandsOnArchitect.com Event Driven Workloads on Kubernetes

    with
  2. $whoami { “name” : “Nilesh Gule”, “website” : “https://www.HandsOnArchitect.com", “github”

    : “https://GitHub.com/NileshGule" “twitter” : “@nileshgule”, “linkedin” : “https://www.linkedin.com/in/nileshgule”, “likes” : “Technical Evangelism, Cricket”, “co-organizer” : “Azure Singapore UG” }
  3. None
  4. @nileshgule KEDA Kubernets based Event Driven Autoscaling Scaling in Kubernetes

    KEDA Overview TechTalks demo with RabbitMQ Autoscaling with KEDA KEDA Architecture Agenda
  5. Pre-requisites • Self contained application with all its dependencies Docker

    • Orchestrates containers • Self healing • Service discovery • Scaling Kubernetes • Dockerhub / private container registry • Repository for storing container images Container Registry • Managed Kubernetes service on Azure • Native integration with other Azure services like Azure Active Directory (AAD), Azure Container registry (ACR), Azure Container Instances (ACI), Azure Monitor etc. Azure Kubernetes Service (AKS)
  6. @nileshgule Kubernetes Scaling Options 1 2 3 Horizontal Pod Autoscaler

    Cluster Autoscaler Manual scaling
  7. None
  8. None
  9. @nileshgule Demo setup 1000 (configurable) messages Batch of 50 (configurable)

    messages https://github.com/NileshGule/pd-tech-fest-2019
  10. @nileshgule TechTalks Demo – Kubernetes deployment https://github.com/NileshGule/pd-tech-fest-2019  Manifest files

    describe Deployment and Service  Helm charts to deploy third-party apps / services  Octant – visualize k8s cluster  Kubectl to deploy Manifest  Postman to generate workload
  11. @nileshgule Demo KEDA in action

  12. None
  13. apiVersion: keda.k8s.io/v1alpha1 kind: ScaledObject metadata: name: rabbitmq-consumer namespace: default labels:

    deploymentName: rabbitmq-consumer-deployment spec: scaleTargetRef: deploymentName: rabbitmq-consumer pollingInterval: 5 # Optional. Default: 30 seconds cooldownPeriod: 30 # Optional. Default: 300 seconds minReplicaCount: 1 # Optional. Default: 0 maxReplicaCount: 30 # Optional. Default: 100 triggers: - type: rabbitmq metadata: queueName: hello queueLength : ‘5’ authenticationRef: name: trigger-auth-rabbitmq-host
  14. None
  15. Azure Blob Storage Azure Event Hub Azure Log Analytics Azure

    Service Bus Queues and Topics Azure Storage Queues ActiveMQ Artemis Kafka Prometheus RabbitMQ Redis Streams Redis Lists Liiklus NATS Huawei Cloudeye AWS CloudWatch AWS Kinesis Stream AWS Simple Queue Service GCP PubSub Azure functions MySQL PostgreSQL https://keda.sh/docs/2.0/scalers/
  16. Summary • Single purpose lightweight component • Any Kubernetes cluster

    (1.16+) • Extends Kubernetes with event driven capabilities • No overwriting or duplication of existing functionalities • Maps an event source to Deployment, StatefulSet, Custom Resource or Job for scaling • Flexible and safe to run alongside any other Kubernetes framework or application • Support 35+ auto scalers out of the box KEDA
  17. Play with Docker Play with Kubernetes Linux Academy learning paths

  18. KEDA AKS cluster-autoscalar Horizontal pod autoscale https://azure.microsoft.com/mediahandler/files/resourcefiles/kubernetes-learning- path/Kubernetes%20Learning%20Path%20version%201.0.pdf

  19. Azure Kubernetes Service Workshop References

  20. References https://www.youtube.com/channel/UCJOvQz55Ly- Rkr_ldE8pMEQ/videos

  21. https://github.com/NileshGule/pd-tech-fest-2019

  22. Thank you very much Code with Passion and Strive for

    Excellence https://www.slideshare.net/nileshgule/presentations https://speakerdeck.com/nileshgule/
  23. Nilesh Gule ARCHITECT | MICROSOFT MVP “Code with Passion and

    Strive for Excellence” nileshgule @nileshgule Nilesh Gule NileshGule www.handsonarchitect.com
  24. Q&A