stackabletech / stackabletech/opa-operator

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

Aperta
#348 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Rust
Stelle
21
Fork
5
Merge medio
12h 44m
PR unite (30g)
11

Descrizione

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)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia esaminando PR #347 e l’utilizzo della crate tar da parte di OpaBundleBuilder, quindi consulta la documentazione OPA collegata sull’utilizzo delle risorse. Misura il comportamento della memoria e della CPU durante la creazione dei bundle e valuta carichi di lavoro che coinvolgano circa 1.000–10.000 ConfigMaps da circa 1 MB ciascuno. Il lavoro è completato quando la checklist contiene misurazioni o stime e una conclusione chiara sui limiti di risorse necessari.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
kubernetes, rust
Ambito
infrastructure
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.