EinrichtungProvisionierung

Provisionierung

Was die Engine im Schritt Infrastruktur installiert.

Der Schritt Infrastruktur ist der Ort, an dem alles auf dem Host aufgebaut wird. Die Engine installiert nacheinander, mit live übertragenem Fortschritt:

  • k3s — leichtgewichtiges und produktionsreifes Kubernetes (skaliert später auf Multi-Node).
  • Ingress (Traefik) + cert-manager — Routing und automatisches TLS via Let's Encrypt.
  • PostgreSQL und Redis in-cluster — die endgültige Datenbank und die Queue/Pub-Sub für Logs.
  • Registry für Artefakte und die CI-Runner.
  • Serverless-Laufzeit des Deployments.
  • Die endgültigen Images von api und web (Deployment + Migrationen + Seed des Super-Admins als In-Cluster-Jobs).
Die Kubernetes-Objekte tragen das Präfix equantic-space-* (Namespace equantic-space, Deployments equantic-space-api / equantic-space-platform, Datenbank equantic-space-db).

CI-Runner

Pipeline-Jobs laufen als isolierte Pods im Cluster — ein Pod pro Job, mit eigenen CPU-/Speicher-Limits, sodass ein schwerer Job weder die Plattform noch seine Nachbarn aushungern kann. Die Kapazität wird aus dem Cluster selbst abgeleitet (mit stets reserviertem Spielraum für die Control Plane): Jobs jenseits der Obergrenze warten in der Queue, und ein neuer Node in der Fleet erhöht die CI-Kapazität automatisch.

docker build in Jobs benötigt? Setze EQS_RUNNER_DIND=true: jeder Job erhält seinen eigenen privaten Docker-Daemon, der nie zwischen Jobs oder Workspaces geteilt wird.

Kapazität einstellen

Die Ableitung ist ein guter Standard, kein Urteil: Unter Einstellungen → Plattform → CI-Kapazität entscheiden Sie, wie viel der Maschine der Runner nehmen darf — jede Änderung zeigt vorab, was sie auf diesem Cluster einbringt.

Zwei Regler wiegen am schwersten. Die Plattform-Reserve ist der Anteil jedes Knotens, den der CI nie anfasst: Senken gibt dem CI insgesamt mehr, doch dann teilen mehr Plätze den Speicher, und jeder Job kann kleiner ausfallen. Und „nicht starten unter" ist eine Aufnahmegrenze: Die Obergrenze eines Jobs wird beim Anlegen des Pods festgeschrieben, deshalb kann ein kurzer Einbruch des freien Speichers einem zweistündigen Build ein Limit verpassen, unter dem er nicht fertig wird. Unterhalb der Grenze bietet der Knoten keinen Platz und der Job wartet in der Warteschlange — spät ist besser als verkrüppelt.

Ein hier gespeicherter Wert schlägt die entsprechende EQS_RUNNER_*-Umgebungsvariable und greift innerhalb eines Budget-Zyklus (30 s), ohne Neustart. Feld leeren, um wieder Umgebung oder Standard zu verwenden.