http-add-on
metrics-server
Our great sponsors
http-add-on | metrics-server | |
---|---|---|
9 | 40 | |
290 | 5,419 | |
4.1% | 2.3% | |
8.6 | 8.6 | |
6 days ago | 8 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.
http-add-on
-
Autoscaling Ingress controllers in Kubernetes
KEDA ships with an HTTP add-on to enable HTTP scaling.
-
Request-based autoscaling in Kubernetes: scaling to zero
KEDA has a special scaler that creates an HTTP proxy that measures and buffers requests before they reach the app.
- How to descale to zero?
-
Ask HN: Who Wants to Collaborate?
I am a core maintainer on the KEDA HTTP Addon project (https://github.com/kedacore/http-add-on). It's 100% written in Go and we are a small group looking for additional contributors. I believe there are interesting challenges ahead of us that will be enjoyable to solve.
If you're interested, please reach out. My username here is the same as my username on the Gophers and Kubernetes slack groups.
(You're of course welcome to just go pick up an issue in the repo if you'd prefer)
-
Synchronizing the KEDA HTTP Addon Request Routing Table Across Hundreds of Interceptor Pods
The KEDA HTTP Addon project contains three major components: the operator, scaler and interceptor.
-
Fan-in / Fan-out with Go
Hacking on the KEDA HTTP Addon, I found myself having to do something familiar:
- Ask r/kubernetes: What are you working on this week?
-
Next Steps for KEDA HTTP
First, we need to finish the minimal infrastructure. The components and supporting artifacts (Helm charts, CI scripts, etc...) are being built in PR #2, and once we have them completed, we will merge it [5]. Second, we need to establish a roadmap. We're beginning to outline it now and will finish it shortly after merging.
metrics-server
-
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.
-
Deploy Secure Spring Boot Microservices on Amazon EKS Using Terraform and Kubernetes
and the Metrics Server.
-
☸️ Managed Kubernetes : Our dev is on AWS, our prod is on OVH
Metrics-server is installed by default on OVH, and has to be installed manually on AWS/EKS cluster.
-
Kubernetes HPA on AKS is failing with error 'missing request for cpu'
I have also installed metrics-server (though not sure whether that was required or not) using the following statement:kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
-
Factors affecting performance of job running in a pod
For #2: There are MANY solutions but the simplest and easiest is https://github.com/kubernetes-sigs/metrics-server and then you can use kubectl top to view pods resource usage. If you want fancy graphs, long retention, alerting, analysis, etc. of resource metrics.. then you need to use something like new relic, data dog, or something open source but much more complex like prometheus/thanos/grafana.. or a managed SaaS version of those open source tools... also some k8s platforms like AWS, Spot.io, GKE, OpenShift, may have this stuff built in or turnkey
-
Autoscaling Ingress controllers in Kubernetes
It's an autoscaler with a metrics server (so I don't need to install 2 different tools).
-
Checking the Capability of ChatGPT for DevOps Automation Solution Design
Sure, here's an example of how to configure the Kubernetes Metrics Server along with the Horizontal Pod Autoscaler (HPA) and Vertical Pod Autoscaler (VPA) configurations we provided earlier. The Metrics Server is a Kubernetes add-on that provides resource utilization metrics for pods and nodes, which are used by the HPA and VPA to determine when and how to scale an application. First, you'll need to install the Metrics Server into your Kubernetes cluster. You can do this by running the following command: kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml Once the Metrics Server is installed, you can configure your HPA and VPA to use it for metrics by adding the following annotation to your deployment: apiVersion: apps/v1 kind: Deployment metadata: name: my-app annotations: autoscaling.alpha.kubernetes.io/metrics-provider: "metrics-server" With this annotation in place, the HPA and VPA will use the Metrics Server to obtain CPU and memory utilization metrics for your pods and nodes. Here's an updated example of the HPA configuration we provided earlier, with the addition of the Metrics Server configuration: apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name: my-app-hpa spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: my-app minReplicas: 1 maxReplicas: 10 metrics: - type: Resource resource: name: cpu targetAverageUtilization: 50 - type: Resource resource: name: memory targetAverageUtilization: 80 In this example, we've added a second metric to the HPA configuration that targets memory utilization at 80%. Here's an updated example of the VPA configuration we provided earlier, with the addition of the Metrics Server configuration: apiVersion: autoscaling.k8s.io/v1 kind: VerticalPodAutoscaler metadata: name: my-app-vpa spec: targetRef: apiVersion: apps/v1 kind: Deployment name: my-app updatePolicy: updateMode: "Off" resourcePolicy: containerPolicies: - containerName: "*" minAllowed: cpu: 50m memory: 256Mi maxAllowed: cpu: 500m memory: 1Gi metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 50 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 80 In this example, we've added two metrics to the VPA configuration that target CPU and memory utilization, with target average utilization of 50% and 80% respectively. I hope this helps you configure the Metrics Server, HPA, and VPA for your application in Kubernetes!
-
plz help
Id go for k3s then install metrics-server, then you can deploy some hpa’s
-
Autoscaling Nodes in Kubernetes
# Create EKS Cluster with version 1.23 eksctl create cluster -f eks-cluster.yaml # Output like below shows cluster has been successfully created 2022-12-30 16:26:46 [ℹ] kubectl command should work with "/home/ec2-user/.kube/config", try 'kubectl get nodes' 2022-12-30 16:26:46 [✔] EKS cluster "ca-demo" in "us-west-2" region is ready # Deploy the Metric server kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml # Output of the above command looks something like below - serviceaccount/metrics-server created clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader created clusterrole.rbac.authorization.k8s.io/system:metrics-server created rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader created clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator created clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server created service/metrics-server created deployment.apps/metrics-server created apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created
-
Korifi : API Cloud Foundry V3 expérimentale dans Kubernetes …
ubuntu@korifi:~$ kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.2/components.yaml serviceaccount/metrics-server created clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader created clusterrole.rbac.authorization.k8s.io/system:metrics-server created rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader created clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator created clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server created service/metrics-server created deployment.apps/metrics-server created apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created ubuntu@korifi:~$ kubectl get po,svc -A NAMESPACE NAME READY STATUS RESTARTS AGE cert-manager pod/cert-manager-74d949c895-w6gzm 1/1 Running 0 13m cert-manager pod/cert-manager-cainjector-d9bc5979d-jhr9m 1/1 Running 0 13m cert-manager pod/cert-manager-webhook-84b7ddd796-xw878 1/1 Running 0 13m kpack pod/kpack-controller-84cbbcdff6-nnhdn 1/1 Running 0 9m40s kpack pod/kpack-webhook-56c6b59c4-9zvlb 1/1 Running 0 9m40s kube-system pod/coredns-565d847f94-kst2l 1/1 Running 0 31m kube-system pod/coredns-565d847f94-rv8pn 1/1 Running 0 31m kube-system pod/etcd-kind-control-plane 1/1 Running 0 32m kube-system pod/kindnet-275pd 1/1 Running 0 31m kube-system pod/kube-apiserver-kind-control-plane 1/1 Running 0 32m kube-system pod/kube-controller-manager-kind-control-plane 1/1 Running 0 32m kube-system pod/kube-proxy-qw9fj 1/1 Running 0 31m kube-system pod/kube-scheduler-kind-control-plane 1/1 Running 0 32m kube-system pod/metrics-server-8ff8f88c6-69t9z 0/1 Running 0 4m21s local-path-storage pod/local-path-provisioner-684f458cdd-f6zqf 1/1 Running 0 31m metallb-system pod/controller-84d6d4db45-bph5x 1/1 Running 0 29m metallb-system pod/speaker-pcl4p 1/1 Running 0 29m projectcontour pod/contour-7b9b9cdfd6-h5jzg 1/1 Running 0 6m43s projectcontour pod/contour-7b9b9cdfd6-nhbq2 1/1 Running 0 6m43s projectcontour pod/contour-certgen-v1.23.2-hxh7k 0/1 Completed 0 6m43s projectcontour pod/envoy-v4xk9 2/2 Running 0 6m43s servicebinding-system pod/servicebinding-controller-manager-85f7498cf-xd7jc 2/2 Running 0 115s NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE cert-manager service/cert-manager ClusterIP 10.96.153.49 9402/TCP 13m cert-manager service/cert-manager-webhook ClusterIP 10.96.102.82 443/TCP 13m default service/kubernetes ClusterIP 10.96.0.1 443/TCP 32m kpack service/kpack-webhook ClusterIP 10.96.227.201 443/TCP 9m40s kube-system service/kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 32m kube-system service/metrics-server ClusterIP 10.96.204.62 443/TCP 4m21s metallb-system service/webhook-service ClusterIP 10.96.186.139 443/TCP 29m projectcontour service/contour ClusterIP 10.96.138.58 8001/TCP 6m43s projectcontour service/envoy LoadBalancer 10.96.126.44 172.18.255.200 80:30632/TCP,443:30730/TCP 6m43s servicebinding-system service/servicebinding-controller-manager-metrics-service ClusterIP 10.96.147.189 8443/TCP 115s servicebinding-system service/servicebinding-webhook-service ClusterIP 10.96.14.224 443/TCP 115s
What are some alternatives?
keda - KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
prometheus - The Prometheus monitoring system and time series database.
k8s-image-swapper - Mirror images into your own registry and swap image references automatically.
k8s-prometheus-adapter - An implementation of the custom.metrics.k8s.io API using Prometheus
relevant_xkcd - A reccomender engine for relavent xkcd comics
kube-state-metrics - Add-on agent to generate and expose cluster-level metrics.
dbench - Benchmark Kubernetes persistent disk volumes with fio: Read/write IOPS, bandwidth MB/s and latency
kube-prometheus - Use Prometheus to monitor Kubernetes and applications running on Kubernetes
Yacy - Distributed Peer-to-Peer Web Search Engine and Intranet Search Appliance
istio - Connect, secure, control, and observe services.
rsyscall - Process-independent interface to Linux system calls
k9s - 🐶 Kubernetes CLI To Manage Your Clusters In Style!