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

Scaling containers with KEDA

Scaling containers with KEDA

SLide deck from the presentation done at the PD Tech Fest event in Manila on 10th August 2019. The talk demonstrated the use of Kubernates-based Event Driven Autoscaling (KEDA) features. The demo shows how to scale RabbitMQ consumer based on the number of messages in a queue.

9e33a1d43a88f23f6c545c1e0f07f4b5?s=128

Nilesh Gule

August 10, 2019
Tweet

More Decks by Nilesh Gule

Other Decks in Technology

Transcript

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

  2. Big Thanks to Sponsors

  3. $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” }
  4. None
  5. None
  6. None
  7. 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>
  8. kubectl autoscale deployment php-apache \ --cpu-percent=50 \ --min=1 \ --max=10

  9. az feature register --name VMSSPreview -- namespace Microsoft.ContainerService az aks

    create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 1 \ --enable-vmss \ --enable-cluster-autoscaler \ --min-count 1 \ --max-count 3
  10. None
  11. None
  12. Kubernetes-based Event Driven Autoscaling

  13. None
  14. None
  15. None
  16. Demo Autoscaling RabbitMQ

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

  18. None
  19. 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'
  20. AKS cluster-autoscalar Virtual Node Horizontal pod autoscale virtual kubelet KEDA

  21. None
  22. None
  23. 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/
  24. Q&A