Releases: kubernetes-sigs/metrics-server
metrics-server-helm-chart-3.6.0
Metrics Server is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
v0.5.1
Installation
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.1/components.yaml
Changes since v0.5.0
Fixes
-
Fix reporting inconsistent number of nodes, caused by using invalid Kubelet node start time metric (@yangjunmyfm192085, #803)
-
Fix reporting partial container metrics for pod (@yangjunmyfm192085, #807)
metrics-server-helm-chart-3.5.0
Metrics Server is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
Apart of chart, this release also includes components.yaml file to ensure that latest link works.
v0.5.0
Installation
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.0/components.yaml
Changes since v0.4.4
This release comes with big improvements in both autoscaling quality and reliability. A 2X improvement to the CPU based scale up time makes horizontal pod autoscaler much more responsive to large load spikes. A default resource requirements that should guarantee reliable support up to 100 node clusters (70 pods per node) out of the box. This is achieved thanks to multiple performance improvements, that allowed an increase of metric collection frequency while keeping the resource requests low.
Improvements
- Increased default metrics scraping resolution to 15s (@serathius)
- Switch CPU metric to cumulative Summary API UsageCoreNanoSeconds (@dgrisonnet)
- Expose object labels on PodMetrics and NodeMetrics objects (@serathius)
- Set HTTP UserAgent header (@yangjunmyfm192085)
- Utilize container start time to speed up reporting metric values for fresh container (@yangjunmyfm192085)
Reliability
- Set default resource requirements with intended to support 100 node clusters (@serathius)
- Split readiness and liveness probes (@serathius)
- Update kubernetes dependencies to 1.21 and Go version to 1.16 (@serathius)
Optimizations
- Don't keep in memory whole pod objects, only metadata (@serathius)
- Don't keep in memory terminated pods (@serathius)
Observability
- Expose metrics about kubernetes rest client used to communicate with kube-apiserver (@adammw)
- Migrate to structured logging (@serathius)
Fixes
- Prevent reporting negative CPU value caused by unreliable cAdvisor timestamp (@sanwishe)
- Skip metric points incorrectly reported as 0 by cAdvisor (@serathius)
Thanks to everyone who contributed to this release!
v0.4.4
Installation
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.4/components.yaml
WARNING - To allow binding privileged ports image now requires NET_BIND_SERVICE
capability. If you are using a security context that has all capabilities dropped, such as from the original stable Helm chart, you will need to use a less restrictive policy.
Changelog since v0.4.3
- Restore ability for Metrics Server to bind privileged ports as in v0.3.x (@x13n).
v0.4.3
v0.4.2
Installation
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.2/components.yaml
Changelog since v0.4.1
- Prevent SubjectAccessReview requests to hang forever (@ialidzhikov)
v0.4.1
v0.4.0
Installation
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.0/components.yaml
Breaking changes
Manifests
- Metrics Server will use Kubelet IP addresses instead of DNS
- Deployment manifests are no longer located in
deploy
folder, but inmanifest
using Kustomize - Metrics server will now run with
system-cluster-critical
pod priority meaning it can evict workloads with lower priority - Renamed Pod port to
https
- Removed
kubernetes.io/name
&kubernetes.io/cluster-service
labels from Service
Container image
- Removed
/healthz
endpoint - Some combinations of TLS flags are no longer allowed
- Metric
metrics_server_kubelet_summary_request_duration_seconds
was renamed tometrics_server_kubelet_request_duration_seconds
- Metric
metrics_sever_kubelet_summary_scrapes_total
was renamed tometrics_server_kubelet_request_total
- Metric
metrics_server_scraper_last_time_seconds
was renamed tometrics_server_kubelet_last_request_time_seconds
- Metric
metrics_server_scraper_duration_seconds
was deleted - Metric
metrics_server_kubelet_last_request_time_seconds
had it labelsource
renamed tonode
Changes since 0.3.7
New Features
- Detect Kubelet port based on node status (@Poor12)
- Allow passing TLS certificate&key to kubelet client (@uthark)
- Added mmanifests configured with autoscaling (@serathius)
- Adopt Kustomize for manifests (@serathius)
- Implement server-side api output formatting (@smarterclayton)
- Order pods returned by API (@smarterclayton)
- Add pod disruption budget (@brianpursley)
- TLS flag validation (@AkashSarda)
Reliability
- Add properly designed readiness and liveliness probes and endpoints
/livez
and/readyz
(@serathius, @hanumanthan) - Set pod priority to
system-cluster-critical
(@serathius)
Optimizations
- Skip parsing not used fields in Summary API (@serathius)
- Use easyjson for parsing (@serathius)
- Pool buffer for scraping (@serathius)
Clean ups
- Removed spammy
no metrics known for pod
logs (@serathius) - Named Service port
https
(@elmariofredo) - Rename pod port to
https
(@serathius) - Removed KubeUp labels (@serathius)
- Add copyright license headers verification (@dgrisonnet)
- Refactor of kubelet metrics (@serathius)
- Update golang version to 1.14 (@serathius)
- Update dependencies to kubernetes 1.19 (@serathius)
Tests
- Test k8s 1.19 in e2e tests (@serathius)
Documentation
- Document x509 errors in FAQ (@QianChenglong)
- REAME.md typo fixes (@zhiweiv)
Thanks to everyone who contributed to this release!
v0.3.7
Installation
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml
Image location changed
New image is available at k8s.gcr.io/metrics-server/metrics-server:v0.3.7
Changes since v0.3.6
- New Image location k8s.gcr.io/metrics-server/metrics-server
- Use image promoter pipeline making releases automated and auditable
- Release docker image supporting multiple architectures
- Upgrade golang version to 1.12
- Include deployment manifests as part of release
- Run image as non root user