stackabletech / stackabletech/opa-operator

Research: Do we need resource limits for the bundle builder container if we use config maps/pvcs?

Ouverte
#348 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Rust
Étoiles
21
Forks
5
Merge moyen
12 h 44 min
PR mergées (30 j)
11

Description

The PR https://github.com/stackabletech/opa-operator/pull/347 implements resource limits and requests for the opa container. The second container opa-bundle-builder currently does not have any limits.

The opa-bundle-builder basically reads all provided OPA rego config maps and puts the content into a tar bundle. From the OPA docs this could grow to a quite a size.

Currently, the size of the data in ConfigMaps cannot exceed 1MB (etcd limit).

This can become a problem if there are many configmaps with rules / data.
The OpaBundleBuilder uses the tar crate, where it is stated that not all of the content must be explicitly in memory.

If rules are adapted dynamically, this also could put quite a load on the CPU when repacking the bundle.tar.gz (not sure we ever reach that many/big rules though).

This is done when:

  • The tar crate is tested for memory consumption
  • The tar crate is tested for CPU utilization
  • We have some tests / estimates if we need more resources than the default ones for the opa-bundle-builder (e.g. with 1000 - 10000 Configmaps a ~1MB)

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par examiner PR #347 et l’utilisation de la crate tar par OpaBundleBuilder, puis consultez la documentation OPA liée sur l’utilisation des ressources. Mesurez le comportement de la mémoire et du CPU lors de la création de bundles et évaluez des charges de travail impliquant environ 1 000 à 10 000 ConfigMaps d’environ 1 MB chacun. Le travail est considéré comme terminé lorsque la checklist contient des mesures ou des estimations ainsi qu’une conclusion claire sur les limites de ressources requises.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
kubernetes, rust
Domaine
infrastructure
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.