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

Auto-scaling containers with KEDA

Auto-scaling containers with KEDA

Slide deck of the presentation done at Credit Agricole Corporate and Investment Bank demonstrating KEDA capabilities. The talk focused on different options for scaling in Kubernetes cluster. The demo covered the auto scaling options based on events using KEDA project.

Nilesh Gule

November 08, 2019
Tweet

More Decks by Nilesh Gule

Other Decks in Programming

Transcript

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

    : “https://github.com/NileshGule" “twitter” : “@nileshgule”, “linkedin” : “https://www.linkedin.com/in/nileshgule”, “email” : “[email protected]", “likes” : “Technical Evangelism, Cricket” }
  2. Pros Cons Scale k8s objects: Kubectl scale –replicas=3 processor-deployment.yml Kubectl

    scale –replicas=3 deployment/rabbitmq-consumer Scale AKS cluster: az aks scale --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 5 \ --nodepool-name <your node pool name>
  3. Azure Event Hub Azure Service Bus Queues and Topics Azure

    Storage Queues Kafka Prometheus RabbitMQ Redis Lists Liiklus NATS AWS CloudWatch AWS Simple Queue Service GCP PubSub Integrates with Azure functions
  4. apiVersion: keda.k8s.io/v1alpha1 kind: ScaledObject metadata: name: hello-keda namespace: default labels:

    deploymentName: hello-keda spec: scaleTargetRef: deploymentName: hello-keda pollingInterval: 5 # Optional. Default: 30 seconds maxReplicaCount: 15 # Optional. Default: 100 triggers: - type: azure-queue metadata: name: myQueueItem type: queueTrigger direction: in queueName: js-queue-items connection: AzureWebJobsStorage
  5. apiVersion: keda.k8s.io/v1alpha1 kind: ScaledObject metadata: name: rabbitmq-consumer namespace: default labels:

    deploymentName: rabbitmq-consumer 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 host: 'amqp://user:[email protected]:5672’ queueLength : '5'
  6. Thank you very much Code with Passion and Strive for

    Excellence https://github.com/NileshGule/AKS-learning-series https://github.com/NileshGule/pd-tech-fest-2019 https://github.com/NileshGule/sample-dotnet-core-rabbitmq-keda https://www.slideshare.net/nileshgule/presentations https://speakerdeck.com/nileshgule/
  7. Q&A