StarlingX Metrics Server App
Go to file
Gabriel de Araújo Cabral 8bf3798c1b Remove CPU and memory requests for metrics server
This commit removes the resources.requests.cpu and
resources.requests.memory fields from the deployment.

By eliminating these resource requests, the deployment is no
longer tied to specific guaranteed allocations, allowing for
more flexible and dynamic use of available resources. This
aligns with the behavior of previous metrics server versions.

Additionally, there should be no CPU allocation in 'platform'
pods as they end up using the CPU resource pool of 'application'
due to a limitation in the implementation of CPU isolation
present in the system.

Closes-bug: 2076940

Test Plan:
    PASS: Build package
    PASS: App upload/apply/update/remove/delete
    PASS: Verify that the values shown in the metrics server
          deployment describe for the metrics-server and
          addon-resizer containers do not have values in
          'resource.requests' for cpu and memory
    PASS: Run sample application

Change-Id: Ia018f5410b2c807682d05d1edf14c543159984a8
Signed-off-by: Gabriel de Araújo Cabral <gabriel.cabral@windriver.com>
2024-08-15 23:09:41 -03:00
helm-charts/upstream/metrics-server-helm Upgrade metrics-server to version 3.12.1/0.7.1 2024-04-26 13:59:11 -03:00
python3-k8sapp-metrics-server Upgrade metrics-server to version 3.12.1/0.7.1 2024-04-26 13:59:11 -03:00
sample-app Upgrade metrics-server to version 3.12.0/0.7.0 2024-02-16 14:53:32 -03:00
stx-metrics-server-helm Remove CPU and memory requests for metrics server 2024-08-15 23:09:41 -03:00
.gitignore Update app Zuul Check Jobs. 2023-12-15 08:30:31 -07:00
.gitreview Added .gitreview 2021-02-03 20:34:59 +00:00
.zuul.yaml Add minimum Kubernetes version supported 2024-02-06 11:15:51 -03:00
bindep.txt Create lifecycle plugin for Metrics Server 2023-12-01 18:57:01 -03:00
debian_build_layer.cfg Add debian_build_layer.cfg file 2021-10-05 14:08:25 -04:00
debian_iso_image.inc Standardize app configs 2023-01-20 15:30:32 +00:00
debian_pkg_dirs Auto-increment chart versions 2024-04-24 09:09:54 -03:00
debian_stable_docker_images.inc debian: stx-metrics-server-sample-app: port to debian 2022-08-18 13:17:10 -04:00
readme.md Add label platform/application to pods 2023-12-13 23:41:44 +00:00
requirements.txt Metrics Server Armada App 2021-03-01 16:22:28 -03:00
test-requirements.txt Update app Zuul Check Jobs. 2023-12-15 08:30:31 -07:00
tox.ini Update app Zuul Check Jobs. 2023-12-15 08:30:31 -07:00

Metrics Server Armada App

This Armada App is responsible to deliver the metrics server inside the ISO.

Metrics Server is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.

Structure

metrics-server-armada-app
├── debian_build_layer.cfg
├── debian_iso_image.inc
├── debian_pkg_dirs
├── debian_stable_docker_images.inc
├── metrics-server-helm
│   ├── debian
│   │   ├── deb_folder
│   │   │   ├── changelog
│   │   │   ├── control
│   │   │   ├── copyright
│   │   │   ├── metrics-server-helm.install
│   │   │   └── rules
│   │   └── meta_data.yaml
│   └── files
│       ├── 0001-Add-sample-app-to-metrics-server.patch
|       ├── 0002-Add-label-platform-application-to-pods.patch
│       └── Makefile
├── readme.md
├── requirements.txt
├── sample-app
│   ├── debian
│   │   └── sample-app.stable_docker_image
│   ├── docker
│   │   ├── Dockerfile.debian
│   │   └── src
│   │       ├── package.json
│   │       └── sample-application.js
│   └── readme.md
├── stx-metrics-server-helm
│   ├── debian
│   │   ├── deb_folder
│   │   │   ├── changelog
│   │   │   ├── control
│   │   │   ├── copyright
│   │   │   ├── rules
│   │   │   ├── source
│   │   │   │   └── format
│   │   │   └── stx-metrics-server-helm.install
│   │   └── meta_data.yaml
│   └── stx-metrics-server-helm
│       ├── files
│       │   ├── Makefile
│       │   └── metadata.yaml
│       ├── fluxcd-manifests
│       │   ├── base
│       │   │   ├── helmrepository.yaml
│       │   │   ├── kustomization.yaml
│       │   │   └── namespace.yaml
│       │   ├── kustomization.yaml
│       │   └── metrics-server
│       │       ├── helmrelease.yaml
│       │       ├── kustomization.yaml
│       │       ├── metrics-server-static-overrides.yaml
│       │       └── metrics-server-system-overrides.yaml
│       └── helm-charts
│           └── Makefile
├── test-requirements.txt
└── tox.ini

Important files

  • metrics-server_manifest.yaml - Armada Manifest
  • helm-charts - Metrics Server helm charts
  • stx-metrics-server-helm.spec - Steps to generate
  • sample-app - Sample app application

Install

  • Navigate to the path /usr/local/share/applications/helm/
  • The metrics-server-1.0-1.tgz will be present
  • Run system application-upload metrics-server-1.0-1.tgz
  • Run system application-list to see if it was uploaded
  • Run system helm-override-update --reuse-values --set sampleApp.create=true metrics-server metrics-server metrics-server If you want to deploy the sample app
  • Run system application-apply metrics-server
  • Run system application-list to see if it was applied
  • Run kubectl get pods -l app=metrics-server -n metrics-server to see the pod running