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
2023-12-15 08:30:31 -07:00
2021-02-03 20:34:59 +00:00
2023-01-20 15:30:32 +00:00
2024-04-24 09:09:54 -03:00
2021-03-01 16:22:28 -03:00
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
Description
StarlingX Metrics Server App
Readme 835 KiB
Languages
Makefile 47.1%
Python 40%
JavaScript 12.3%
PHP 0.5%
C++ 0.1%