• 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 all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

Kubernetes Scaling

 
Ranch Hand
Posts: 1087
Oracle Spring Java
  • Mark post as helpful
  • send pies
  • 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
  • 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
  • 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
  • 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.
 
There's a way to do it better - find it. -Edison. A better tiny ad:
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
    Bookmark Topic Watch Topic
  • New Topic