dbarbosa e6e0266610 Create lifecycle plugin for Metrics Server
Introduce lifecycle plugin for metrics-server to allow
managing the application's behavior during different
phases of its lifecycle.
This is required to allow adding labels to the pods and
restart them right after the application is applied,
which is going to be implemented by a follow-up commit.

Test Plan:
PASS: build-pkgs -c -p python3-k8sapp-metrics-server
PASS: build-pkgs -c -p stx-metrics-server-helm
PASS: upload/apply/remove/delete/update metrics-server
PASS: possible to access hooks like post-apply and post-remove

Story: 2010962
Task: 49066

Change-Id: If2e334e238ac51795907b4c6076d7bebe3ce9739
Signed-off-by: David Barbosa Bastos <david.barbosabastos@windriver.com>
2023-12-01 18:57:01 -03:00
2021-02-03 20:34:59 +00:00
2023-01-20 15:30:32 +00:00
2023-09-18 10:13:53 -03:00
2021-03-01 16:22:28 -03: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
│       └── 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%