• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Kubernetes Scaling

 
Ranch Hand
Posts: 1087
Oracle Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi  Fellwow  Rancher,

I’m curious what sort of patterns you would recommend for auto-scaling the K8s cluster – are there leading metrics or trends that could efficiently drive auto-scaling?  Or is this a known limitation that is manual scaling.  Just to clarify, this is not around scaling of the container instances, which is an existing K8s feature, but rather overall cluster capacity / nodes.

Given Deepak Vohra is also with us on forum now a days ! @Deepak what is your take on this.

Thanks,
Shailesh
 
Author
Posts: 64
10
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Scaling is a Kubernetes feature suitable for DevOps design pattern of automation. Scaling could be fully automated using an automation server such as Jenkins. Some plugins are available for automating scaling.
https://github.com/jenkinsci/kubernetes-plugin
https://www.cloudbees.com/blog/demand-jenkins-slaves-kubernetes-and-google-container-engine
 
Shailesh Chandra
Ranch Hand
Posts: 1087
Oracle Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Deepak,

Thanks for your reply !

I have further query to you answer, you have explained about auto-scaling pattern for Jenkins containers on K8s cluster.  What I’m looking for is a an auto-scaling pattern of the nodes in the cluster themselves.

are there any pattern available to address this scenario

Thanks,
Shailesh

 
Deepak Vohra
Author
Posts: 64
10
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Automatic scaling using a Horizontal pod scaler is discussed in chapter 13.

Excerpt from chapter 13:

A horizontal pod scaler has two main benefits over  user-intervened scaling. Firstly, the scaling is automatic and secondly extra pods are not kept running consuming resources that could be used for some other application. An autoscaler may be created for a replication controller, replica set or a deployment. An  autoscaler uses heapster to collect CPU utilization of a resource, based on which it determines if more or fewer pods should be run.  Autoscaling is based on a target CPU utilization implying that the CPU utilization of a resource such as a deployment should be x%.  



Further, a Jenkins Pipeline (not Kubernetes plugin) could be used to perform a rolling update to auotscale a Kubernetes cluster (not jenkins cluster). The pipeline is run periodically or based on load on a cluster. Using a Jenkins Pipeline to perform a rolling update for auto-scaling is an example of the Automation Design Pattern.
reply
    Bookmark Topic Watch Topic
  • New Topic