Kubernetes Operator-Modus
Cuby kann in einem Kubernetes-Cluster als Operator betrieben werden. In diesem Modus werden Produkte nicht als lokale Prozesse, sondern als Kubernetes-Deployments verwaltet.
Vergleich: Lokal vs. Kubernetes
| Aspekt | Lokaler Modus | Kubernetes Operator |
|---|---|---|
| Produkte | Child-Prozesse | Deployments/Services |
| Konfiguration | ~/.processcube/config.json | ConfigMaps + Secrets |
| API Key | Bun.secrets | K8s Secret processcube-api-key |
| Logs | Datei + In-Memory | Pod Logs |
| Health | HTTP-Endpunkte | Liveness/Readiness Probes |
Aktivierung
Der Operator-Modus wird aktiviert durch:
- Umgebungsvariable
CUBY_MODE=operator - Automatische Erkennung einer Kubernetes-Umgebung (Service Account vorhanden)
Funktionsweise
Im Operator-Modus:
- Der API Key wird aus einem Kubernetes Secret (
processcube-api-key) gelesen - Produkte werden als Kubernetes-Ressourcen erstellt:
- Deployment mit Resource-Limits und Health-Probes
- Service (ClusterIP)
- ConfigMap (für Umgebungsvariablen)
- Ingress (wenn Domain konfiguriert)
- Produkte können skaliert und per Rolling-Restart aktualisiert werden
- Logs werden direkt aus den Pods gelesen
Kubernetes-Verbindung
| Modus | Authentifizierung |
|---|---|
| In-Cluster | Verwendet Service Account Token und CA-Zertifikat |
| Lokal | Liest KUBERNETES_* Umgebungsvariablen |
API Key als Secret
Der API Key muss als Kubernetes Secret bereitgestellt werden:
apiVersion: v1
kind: Secret
metadata:
name: processcube-api-key
type: Opaque
data:
api-key: <base64-encoded-api-key>