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

Auto-scaling containers with KEDA

Auto-scaling containers with KEDA

Slidedeck from the presentation done at the Azure Meetup in Singapore https://www.meetup.com/mssgug/events/263746704/. The talk demonstrated how to scale .Net Core RabbitMQ consumer using Kubernetes-based Event Driven Autoscaling (KEDA).

9e33a1d43a88f23f6c545c1e0f07f4b5?s=128

Nilesh Gule

August 20, 2019
Tweet

More Decks by Nilesh Gule

Other Decks in Programming

Transcript

  1. Auto-Scaling containers with Nilesh Gule @nileshgule | www.HandsOnArchitect.com

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

    : “https://github.com/NileshGule" “twitter” : “@nileshgule”, “linkedin” : “https://www.linkedin.com/in/nileshgule”, “email” : “nileshgule@gmail.com", “likes” : “Technical Evangelism, Cricket” }
  3. None
  4. None
  5. None
  6. 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 1 \ --nodepool-name <your node pool name>
  7. kubectl autoscale deployment php-apache \ --cpu-percent=50 \ --min=1 \ --max=10

  8. None
  9. None
  10. Kubernetes-based Event Driven Autoscaling

  11. None
  12. None
  13. None
  14. Demo Autoscaling RabbitMQ

  15. https://github.com/NileshGule/AKS-learning-series

  16. 1000 messages 10 messages

  17. 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:PASSWORD@rabbitmq.default.svc.cluster.local:5672’ queueLength : '5'
  18. AKS cluster-autoscalar Virtual Node Horizontal pod autoscale virtual kubelet KEDA

  19. None
  20. None
  21. 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://www.slideshare.net/nileshgule/presentations https://speakerdeck.com/nileshgule/
  22. Q&A