cluster-proportional-autoscaler
k8s-prometheus-adapter
cluster-proportional-autoscaler | k8s-prometheus-adapter | |
---|---|---|
3 | 13 | |
589 | 1,827 | |
0.8% | 0.7% | |
5.8 | 6.3 | |
16 days ago | 9 days ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cluster-proportional-autoscaler
-
Practical Introduction to Kubernetes Autoscaling Tools with Linode Kubernetes Engine
The Cluster Proportional Autoscaler (CPA) is a horizontal pod autoscaler that scales replicas based on the number of nodes in the cluster. Unlike other autoscalers, it does not rely on the Metrics API and does not require the Metrics Server. Additionally, unlike other autoscalers we saw, a CPA is not scaled with a Kubernetes resource but instead uses flags to identify target workloads and a ConfigMap for scaling configuration. The following diagram illustrates the components of the CPA:
-
K8s ephemeral application environments
Namespacing each environment would give you isolation, depending on how your service discovery works within the environment. You could consider the horizontal proportional autoscaler (or maybe KEDA) and hook it up to a metric for the queue depth. https://github.com/kubernetes-sigs/cluster-proportional-autoscaler
-
Kubernetes Cluster Over-Provisioning: Proactive App Scaling
If we want to configure dynamic overprovisioning of a cluster (e.g. 20% of resources in the cluster) then we need to use Horizontal Cluster Proportional Autoscaler.
k8s-prometheus-adapter
-
Upgrading Hundreds of Kubernetes Clusters
The last one is mostly an observability stack with Prometheus, Metric server, and Prometheus adapter to have excellent insights into what is happening on the cluster. You can reuse the same stack for autoscaling by repurposing all the data collected for monitoring.
-
Helm: Is there a way to access templates of a sibling subchart
I'm deploying kube-prometheus-stack along with prometheus-adapter in my monitoring stack for custom metrics.
-
Deploy prometheus-adapter with kube-prometheus-stack monitoring stack?
I would like to see if anyone deployed prometheus-adapter and kube-prometheus-stack together for monitoring?
-
Horizontal Pod Autoscale
For us it is saturation of CPU and thread pool. It's implemented by exposing metrics of the thread pool to prometheus and turning that into a custom metric. (see) Looking at scaling based on job queue length next.
-
Steps to write own adaptor
If you are using Prometheus or kube-prometheus-stack, you will need https://github.com/kubernetes-sigs/prometheus-adapter We are using it to scale our Pods based on number of messages in RabbitMQ queue. There also a walkthrough on https://github.com/kubernetes-sigs/prometheus-adapter/blob/master/docs/walkthrough.md
-
Monitoring Your Spacelift Account via Prometheus
A prometheus-adapter installation.
-
Advanced Features of Kubernetes' Horizontal Pod Autoscaler
Prometheus adapter to get custom/external metrics from Prometheus instance into Kubernetes API.
-
Pod spread by percentage
I never tested this but you have customized metrics API if the value % is available should work from my point of view Check this here https://github.com/kubernetes-sigs/prometheus-adapter
-
Practical Introduction to Kubernetes Autoscaling Tools with Linode Kubernetes Engine
CPU and memory might not be the right metrics for your application to make scaling decisions. In such cases, you can use HPA (or VPA) with custom metrics as an alternative. To use custom metrics for autoscaling, you can use a custom metrics adapter instead of the Kubernetes Metrics Server. Popular custom metrics adapters are the Prometheus adapter and Kubernetes Event-Driven Autoscaler (KEDA).
- How to scale containers that are unrelated to physical traits like CPU or Memory?
What are some alternatives?
autoscaler - Autoscaling components for Kubernetes
keda - KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
Overprovisioner
metrics-server - Scalable and efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
k9s - 🐶 Kubernetes CLI To Manage Your Clusters In Style!
vcluster - vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
spring-auto-scaling-k8
dotnet-pressure-api - An API that can apply memory and CPU pressure to test autoscaling rules in Kubernetes
prometheus - The Prometheus monitoring system and time series database.
helm-charts - Prometheus community Helm charts