Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
6edd4e8
PAC-3765 - Upgrade crossplane pack to 2.2.0
edwin-villa Feb 24, 2026
7286b29
Merge pull request #1 from edwin-villa/PAC-3765
edwin-villa Feb 24, 2026
0ce7b5c
PAC-3779 - Upgrade trivy pack to 0.21.1
edwin-villa Feb 25, 2026
6093546
Merge branch 'spectrocloud:main' into main
edwin-villa Feb 25, 2026
ccfb6c3
PAC-3765 - Upgrade crossplane pack to 2.2.0
edwin-villa Feb 25, 2026
773d2ee
Merge branch 'main' into main
vishwanaths Feb 27, 2026
b0fb97a
PAC-3779 - Upgrade trivy pack to 0.21.1
edwin-villa Feb 27, 2026
b6960dd
PAC-3779 - Upgrade trivy pack to 0.21.1
edwin-villa Feb 27, 2026
8e37461
Merge pull request #2 from edwin-villa/PAC-3779
edwin-villa Mar 2, 2026
8111137
Merge branch 'spectrocloud:main' into main
edwin-villa Mar 2, 2026
be17e23
Merge branch 'spectrocloud:main' into main
edwin-villa Apr 27, 2026
7aa4e14
PAC-4030 - Upgrade fluentbit pack to 5.0.3
edwin-villa Apr 29, 2026
edc3df9
PAC-4030 - Upgrade fluentbit pack to 5.0.3
edwin-villa Apr 29, 2026
d7e12f8
Remove cks-trivy folder, not part of this PR
edwin-villa Apr 29, 2026
cf9b046
Merge branch 'spectrocloud:main' into main
edwin-villa May 21, 2026
b47e842
Merge branch 'spectrocloud:main' into main
edwin-villa May 27, 2026
10429a7
PAC-4131 - Upgrade crossplane pack to 2.3.0
edwin-villa May 27, 2026
d72aa59
Merge pull request #4 from edwin-villa/crossplane-2.3.0
edwin-villa May 28, 2026
f4064ba
Upgrade kubevious pack to 1.2.2
edwin-villa Jun 10, 2026
136c4a0
Merge branch 'spectrocloud:main' into main
edwin-villa Jun 12, 2026
ee3b8dd
Merge pull request #5 from edwin-villa/kubevious-1.2.2
edwin-villa Jun 12, 2026
cc69223
Merge branch 'spectrocloud:main' into main
edwin-villa Jun 16, 2026
2eb15a5
Upgrade fluentbit pack to 5.0.7
edwin-villa Jun 16, 2026
ded153a
Merge pull request #6 from edwin-villa/fluentbit-5.0.7
edwin-villa Jun 18, 2026
87b5f6b
Update values.yaml
edwin-villa Jun 19, 2026
5de1fb9
Upgrade stormforge-agent pack to 2.28.2
edwin-villa Jun 25, 2026
14947c2
Merge pull request #7 from edwin-villa/stormforge-agent-2.28.2
edwin-villa Jun 25, 2026
29b889d
Merge branch 'spectrocloud:main' into main
edwin-villa Jun 25, 2026
66c20cd
Merge branch 'spectrocloud:main' into main
edwin-villa Jul 2, 2026
0d48516
fix PR
edwin-villa Jul 17, 2026
a896235
Merge branch 'spectrocloud:main' into main
edwin-villa Jul 30, 2026
d044f07
Merge branch 'spectrocloud:main' into main
edwin-villa Aug 10, 2026
c872124
Merge branch 'spectrocloud:main' into main
edwin-villa Aug 18, 2026
8045e87
Upgrade metrics-server pack to 3.13.1
edwin-villa Aug 21, 2026
9039af8
Upgrade file README
edwin-villa Aug 27, 2026
446e4d2
Merge branch 'spectrocloud:main' into metrics-server-3.13.1
edwin-villa Sep 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 124 additions & 0 deletions packs/metrics-server-3.13.1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# Metrics Server

[Metrics Server](https://github.com/kubernetes-sigs/metrics-server) is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines. It collects resource usage (CPU and memory) from the `kubelet` on each node and exposes it through the Kubernetes [Metrics API](https://github.com/kubernetes/metrics), which is consumed by core components such as the Horizontal Pod Autoscaler (`kubectl autoscale`), the Vertical Pod Autoscaler, and `kubectl top`.

This pack packages the official Metrics Server Helm chart, version `3.13.1`, which deploys Metrics Server `v0.8.1`.


## Prerequisites

- A Kubernetes cluster running v1.29 or later.
- Network connectivity between the API server and the `kubelet` on every node (the API server must be able to reach the Metrics Server pod, and Metrics Server must be able to reach each node's `kubelet` on the configured port).
- No previous, non-Palette-managed installation of Metrics Server on the target cluster. Some managed Kubernetes distributions (for example EKS, AKS and GKE) ship their own Metrics Server add-on; disable it before deploying this pack to avoid a conflict over the `v1beta1.metrics.k8s.io` API service.


## Parameters

The pack exposes the upstream Helm chart values under the `charts.metrics-server` key. The defaults work for most clusters; the parameters below are the ones most likely to need changing.

| **Parameter** | **Description** | **Type** | **Default Value** | **Required** |
|---|---|---|---|---|
| `charts.metrics-server.image.repository` | Metrics Server image repository. | String | `registry.k8s.io/metrics-server/metrics-server` | No |
| `charts.metrics-server.image.tag` | Image tag. Empty means the chart's `appVersion` (`v0.8.1`). | String | `""` | No |
| `charts.metrics-server.replicas` | Number of Metrics Server replicas. | Int | `1` | No |
| `charts.metrics-server.defaultArgs` | Default command-line arguments passed to Metrics Server. | List | See values | No |
| `charts.metrics-server.args` | Additional command-line arguments appended to `defaultArgs`. | List | `[]` | No |
| `charts.metrics-server.apiService.insecureSkipTLSVerify` | Skip TLS verification when the API server calls the Metrics Server API service. Disable and set `apiService.caBundle` for a hardened setup. | Bool | `true` | No |
| `charts.metrics-server.tls.type` | TLS certificate method: `metrics-server`, `helm`, `cert-manager`, or `existingSecret`. | String | `"metrics-server"` | No |
| `charts.metrics-server.hostNetwork.enabled` | Run Metrics Server in the host network namespace. Required on some overlay networks (for example Weave on EKS) where the API server cannot otherwise reach the pod. | Bool | `false` | No |
| `charts.metrics-server.resources` | CPU/memory requests and limits for the Metrics Server container. | Object | `requests: {cpu: 100m, memory: 200Mi}` | No |
| `charts.metrics-server.podDisruptionBudget.enabled` | Create a PodDisruptionBudget for the Metrics Server deployment. | Bool | `false` | No |
| `charts.metrics-server.service.type` | Service type for the Metrics Server Service. | String | `ClusterIP` | No |
| `charts.metrics-server.serviceMonitor.enabled` | Create a Prometheus `ServiceMonitor` for Metrics Server. Requires the Prometheus Operator CRDs to be present. | Bool | `false` | No |
| `charts.metrics-server.nodeSelector` | Node selector for the Metrics Server pod. | Object | `{}` | No |
| `charts.metrics-server.tolerations` | Tolerations for the Metrics Server pod. | List | `[]` | No |

> [!CAUTION]
> If your cloud provider or Kubernetes distribution already ships a Metrics Server add-on (for example the EKS or AKS built-in add-on), remove it before installing this pack. Two Metrics Server instances competing for the same `v1beta1.metrics.k8s.io` API service will conflict.


## Upgrade

This is the initial release of this pack, so there are no prior pack versions to migrate from. When upgrading to a future version of this pack, review the [Metrics Server releases](https://github.com/kubernetes-sigs/metrics-server/releases) and the chart's [CHANGELOG](https://github.com/kubernetes-sigs/metrics-server/blob/master/charts/metrics-server/CHANGELOG.md) for breaking changes between chart versions, since Helm does not automatically reconcile changes to cluster-scoped resources such as `ClusterRole`, `ClusterRoleBinding`, or the `APIService`.


## Usage

Add this pack as a layer in an [add-on cluster profile](https://docs.spectrocloud.com/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/). The default values work for most clusters without any changes.

Once the cluster reconciles, confirm Metrics Server is running and serving metrics:

```powershell
kubectl get pods -n kube-system -l app.kubernetes.io/name=metrics-server
kubectl top nodes
kubectl top pods -A
```


## Known Issues on Managed Kubernetes

### EKS / AKS / GKE: Metrics Server conflict

These managed Kubernetes distributions deploy their own Metrics Server. When Spectro Cloud provisions a cluster, it also deploys an older version (chart `3.8.4`, appVersion `0.9.0-spectro`). This creates a conflict with this pack.

**Symptoms:**
- Pack stuck at "AddOnDeploying"
- Error: `ClusterRole "system:metrics-server-aggregated-reader" exists and cannot be imported`

**Resolution:**

```powershell
# 1. Find the Spectro Cloud namespace with the old release
helm list --all-namespaces | findstr metrics

# 2. Uninstall the old release (use the namespace from step 1)
helm uninstall metrics-server -n <NAMESPACE>
```

Spectro Cloud will automatically redeploy your pack (chart `3.13.1`) with `apiService.create: true` (the default). No additional steps are required.

> [!NOTE]
> The default value `apiService.create: true` is required for `kubectl top` and HPA to work. Do not set it to `false` unless you need to coexist with another metrics-server installation (not recommended).

## HPA Test (PowerShell)

To verify Metrics Server works with the Horizontal Pod Autoscaler:

```powershell
# 1. Create a deployment
kubectl create deployment example-app --image=registry.k8s.io/hpa-example --replicas=1 -n default
kubectl set resources deployment example-app --requests=cpu=200m --limits=cpu=500m

# 2. Expose the service
kubectl expose deployment example-app --port=80 --target-port=80

# 3. Create the HPA
kubectl autoscale deployment example-app --cpu-percent=70 --min=1 --max=5

# 4. Verify HPA is ready
kubectl get hpa example-app
# Expected: TARGETS cpu: 0%/70%, REPLICAS 1

# 5. Generate CPU load (run in one terminal)
kubectl run load-generator --image=busybox --rm -i --tty --restart=Never -- /bin/sh -c "while true; do wget -q -O- http://example-app; done"

# 6. Watch scaling (in another terminal)
kubectl get pods -l app=example-app --watch
kubectl get hpa example-app
# Expected: REPLICAS scales from 1 to 5

# 7. Clean up
kubectl delete hpa example-app
kubectl delete deployment example-app
kubectl delete service example-app
```


## References

- [Metrics Server on GitHub](https://github.com/kubernetes-sigs/metrics-server)
- [Metrics Server Helm chart](https://github.com/kubernetes-sigs/metrics-server/tree/master/charts/metrics-server)
- [Kubernetes Metrics API](https://github.com/kubernetes/metrics)
- [Horizontal Pod Autoscaler documentation](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)
- [Metrics Server FAQ](https://github.com/kubernetes-sigs/metrics-server/blob/master/FAQ.md)
- [Metrics Server known issues](https://github.com/kubernetes-sigs/metrics-server/blob/master/KNOWN_ISSUES.md)
Binary file not shown.
23 changes: 23 additions & 0 deletions packs/metrics-server-3.13.1/charts/metrics-server/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
193 changes: 193 additions & 0 deletions packs/metrics-server-3.13.1/charts/metrics-server/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
# Metrics Server Helm Chart Changelog

> [!NOTE]
> All notable changes to this project will be documented in this file; the format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

<!--
### Added - For new features.
### Changed - For changes in existing functionality.
### Deprecated - For soon-to-be removed features.
### Removed - For now removed features.
### Fixed - For any bug fixes.
### Security - In case of vulnerabilities.
-->

## [UNRELEASED]

## [3.13.1] - 2026-02-27

### Changed

- Update the _Metrics Server_ OCI image to [`0.8.1`](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.8.1). ([#1770](https://github.com/kubernetes-sigs/metrics-server/pull/1770)) _@stevehipwell_

### Fixed

- Conditionally render `insecureSkipTLSVerify` field in APIService template to prevent GitOps sync drift when value is `false`. ([#1727](https://github.com/kubernetes-sigs/metrics-server/pull/1727)) _@pawl_
- Do not render annotations as null in APIService template to prevent permanent OutOfSync in ArgoCD. ([#1752](https://github.com/kubernetes-sigs/metrics-server/pull/1752)) _@Serializator_

## [3.13.0] - 2025-07-22

### Added

- Add chart options to secure the connection between Metrics Server and the Kubernetes API Server. ([#1288](https://github.com/kubernetes-sigs/metrics-server/pull/1288)) _@mkilchhofer_
- Add `unhealthyPodEvictionPolicy` to the Metrics Server PDB as a user enabled feature. ([#1574](https://github.com/kubernetes-sigs/metrics-server/pull/1574)) @peterabarr

### Changed

- Update the _Addon Resizer_ OCI image to [`1.8.23`](https://github.com/kubernetes/autoscaler/releases/tag/addon-resizer-1.8.23). ([#1626](https://github.com/kubernetes-sigs/metrics-server/pull/1626)) _@stevehipwell_
- Update the _Metrics Server_ OCI image to [`0.8.0`](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.8.0). ([#1683](https://github.com/kubernetes-sigs/metrics-server/pull/1683)) _@stevehipwell_

## [3.12.2] - 2024-10-07

### Added

- Explicitly added the app protocol to the service. ([#1540](https://github.com/kubernetes-sigs/metrics-server/pull/1540)) _@
seankhliao_

### Changed

- Updated the _Metrics Server_ OCI image to [v0.7.2](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2). ([#1568](https://github.com/kubernetes-sigs/metrics-server/pull/1568)) _@stevehipwell_
- Updated the _addonResizer_ OCI image to [1.8.21](https://github.com/kubernetes/autoscaler/releases/tag/addon-resizer-1.8.21). ([#1504](https://github.com/kubernetes-sigs/metrics-server/pull/1504)) _@jimmy-ungerman_

### Fixed

- Fixed nanny's RoleBinding which contained a hard-coded namespace instead of the Helm's release namespace. ([#1479](https://github.com/kubernetes-sigs/metrics-server/pull/1479)) _@the-technat_
- Fixed the `ServiceMonitor` job label. ([#1568](https://github.com/kubernetes-sigs/metrics-server/pull/1568)) _@stevehipwell_

## [3.12.1] - 2024-04-05

### Changed

- Updated the _Metrics Server_ OCI image to [v0.7.1](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.1). ([#1461](https://github.com/kubernetes-sigs/metrics-server/pull/1461)) _@stevehipwell_
- Changed `Deployment` templating to ignore `schedulerName` when value is empty. ([#1475](https://github.com/kubernetes-sigs/metrics-server/pull/1475)) _@senges_

## [3.12.0] - 2024-02-07

### Changed

- Updated the _Metrics Server_ OCI image to [v0.7.0](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.0). ([#1414](https://github.com/kubernetes-sigs/metrics-server/pull/1414)) [@stevehipwell](https://github.com/stevehipwell)
- Updated the _addon-resizer_ OCI image to [v1.8.20](https://github.com/kubernetes/autoscaler/releases/tag/addon-resizer-1.8.20). ([#1414](https://github.com/kubernetes-sigs/metrics-server/pull/1414)) [@stevehipwell](https://github.com/stevehipwell)

## [3.11.0] - 2023-08-03

### Added

- Added default _Metrics Server_ resource requests.

### Changed

- Updated the _Metrics Server_ OCI image to [v0.6.4](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.4).
- Updated the _addon-resizer_ OCI image to [v1.8.19](https://github.com/kubernetes/autoscaler/releases/tag/addon-resizer-1.8.19).

## [3.10.0] - 2023-04-12

### Added

- Added support for running under PodSecurity restricted.

### Fixed

- Fixed `auth-reader` role binding namespace to always use `kube-system`.
- Fixed addon-resizer configuration.
- Fixed container port default not having been updated to `10250`.

## [3.9.0] - 2023-03-28

### Added

- Added autoscaling support via the addon-resizer.

### Changed

- Updated the _Metrics Server_ OCI image to [v0.6.3](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.3).

### Fixed

- Fixed service labels/annotations.

## [3.8.4] - 2023-03-06

### Changed

- Changed the image registry location to `registry.k8s.io`.

## [3.8.3] - 2022-12-08

### Added

- Added support for topologySpreadConstraints.
- Always set resource namespaces explicitly.
- Allow configuring TLS on the APIService.
- Enabled service monitor relabelling.
- Added ability to set the scheduler name.
- Added support for common labels.

### Changed

- Updated the _Metrics Server_ OCI image to [v0.6.2](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.2).

## [3.8.2] - 2022-02-23

### Changed

- Changed chart to allow probes to be turned off completely (this is not advised unless you know what you're doing).

## [3.8.1] - 2022-02-09

### Changed

- Updated the _Metrics Server_ OCI image to [v0.6.1](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.1).

## [3.8.0] - 2022-02-08

### Added

- Added support for unauthenticated access to the /metrics endpoint.
- Added optional _Prometheus Operator_ `ServiceMonitor`.

### Changed

- Updated the _Metrics Server_ OCI image to [v0.6.0](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.0).

## [3.7.0] - 2021-11-18

### Changed

- Updated the _Metrics Server_ OCI image to [v0.5.2](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.5.2).

## [3.6.0] - 2021-10-18

### Added

- Added new `defaultArgs`` value to enable overriding the default arguments.

### Changed

- Updated the _Metrics Server_ OCI image to [v0.5.1](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.5.1).

## [3.5.0] - 2021-10-07

### Added

- Added initial Helm chart release from official repo.

<!--
RELEASE LINKS
-->
[UNRELEASED]: https://github.com/kubernetes-sigs/metrics-server/tree/master/charts/metrics-server
[3.13.1]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.13.1
[3.13.0]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.13.0
[3.12.2]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.12.2
[3.12.1]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.12.1
[3.12.0]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.12.0
[3.11.0]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.11.0
[3.10.0]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.10.0
[3.9.0]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.9.0
[3.8.4]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.8.4
[3.8.3]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.8.3
[3.8.2]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.8.2
[3.8.1]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.8.1
[3.8.0]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.8.0
[3.7.0]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.7.0
[3.6.0]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.6.0
[3.5.0]: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.5.0
29 changes: 29 additions & 0 deletions packs/metrics-server-3.13.1/charts/metrics-server/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
apiVersion: v2
name: metrics-server
description: Metrics Server is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
type: application
version: 3.13.1
appVersion: 0.8.1
keywords:
- kubernetes
- metrics-server
- metrics
home: https://github.com/kubernetes-sigs/metrics-server
icon: https://avatars.githubusercontent.com/u/36015203?s=400&v=4
sources:
- https://github.com/kubernetes-sigs/metrics-server
maintainers:
- name: stevehipwell
url: https://github.com/stevehipwell
- name: krmichel
url: https://github.com/krmichel
- name: endrec
url: https://github.com/endrec
annotations:
artifacthub.io/changes: |
- kind: fixed
description: "Conditionally render `insecureSkipTLSVerify` field in APIService template to prevent GitOps sync drift when value is `false`."
- kind: fixed
description: "Do not render annotations as null in APIService template to prevent permanent OutOfSync in ArgoCD."
- kind: changed
description: "Update the Metrics Server OCI image to [`0.8.1`](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.8.1)."
Loading
Loading