Configurazione
Come configurare il manager dell'operatore stesso. Per configurare la piattaforma, consulta le pagine di riferimento delle custom resource. Un elenco sintetico di flag e variabili d'ambiente si trova nella pagina Riferimento di configurazione.
Namespace osservati
Per impostazione predefinita l'operatore osserva tutti i namespace. Per limitarlo — ad esempio per assegnare a un'istanza dell'operatore una porzione di un cluster di grandi dimensioni — imposta --watch-namespaces (o la variabile d'ambiente WATCH_NAMESPACES) su un elenco separato da virgole:
--watch-namespaces=forge-gateway,forge-langfuse,forge-ui,forge-dataMantieni raggiungibili i namespace di sistema
Quando limiti l'osservazione, la risorsa cluster-scoped License e i namespace *-system degli operatori di capacità devono restare raggiungibili. L'operatore usa un reader senza cache per queste letture cross-namespace, ma verifica che l'RBAC continui a consentirle.
In Helm, imposta watchNamespaces: [...] (lista vuota = tutti i namespace).
Leader election
La leader election è attiva di default. Poiché il motore Helm integrato nel binario si basa su un unico reconciler attivo (l'action.Configuration di Helm non è concurrency-safe), ti conviene mantenere la leader election abilitata anche con una sola replica. Inoltre ogni controller viene eseguito con MaxConcurrentReconciles = 1.
Risorse
Il manager esegue il rendering e l'installazione degli Helm chart in-process, operazione che consuma molta memoria. Assegnagli memoria adeguata — ~1Gi è una base sicura:
resources:
requests: { cpu: 100m, memory: 512Mi }
limits: { memory: 1Gi }I limiti di default di Kubebuilder sono troppo bassi e si manifestano come OOM kill solo nel cluster (non con make run in locale, che usa il kubeconfig e la memoria della macchina locale).
RBAC
L'operatore include un ClusterRole ampio perché installa CRD, RBAC di cluster, admission webhook e workload in più namespace. I metodi di installazione lo predispongono automaticamente. Se assembli l'RBAC a mano, l'operatore necessita, tra l'altro, di:
- Gestione completa delle risorse
*.core.navique.come del relativo/status. - Gestione dei CRD upstream che emette (
postgresql.cnpg.io,external-secrets.io,litellm.palena.ai,langfuse.palena.ai, …). - get/list/watch su
customresourcedefinitions(per attendereEstablished). - Oggetti di gestione delle release Helm (Secret nei namespace delle release).
- Oggetti Lease per la leader election.
- Il ServiceAccount a privilegio minimo e l'RBAC della console del management plane.
Comportamento di installazione degli operatori di capacità
Ogni chart incluso ha valori di installazione di default verificati e integrati nel registry dell'operatore — consulta Chart inclusi. In genere non devi modificarli. Quando i default upstream di un chart sono obsoleti (ad esempio un tag d'immagine fissato ma vecchio), l'operatore li sovrascrive per allinearli alla versione del chart con cui viene distribuito.
Per i cluster air-gapped, replica le immagini upstream nel tuo registry e fornisci gli override delle immagini; i chart sono incorporati nel binario e non richiedono accesso alla rete.
Console di gestione
L'operatore distribuisce la console del management plane di default, anche in assenza di una risorsa ManagementPlane. Per modificarne host, ingress, SSO, immagine o comportamento di discovery, crea una risorsa ManagementPlane. Per disabilitarla completamente, imposta il corrispondente valore del chart/di installazione (la console può essere disattivata dove non è desiderata).
Alta disponibilità
Esegui il manager con più repliche e la leader election attiva; solo il leader esegue la riconciliazione e il failover è automatico. I workload della piattaforma sono resi HA tramite le rispettive risorse (ad es. PostgresCluster.managed.instances: 3, Gateway.instance.replicas, repliche dei datastore di Langfuse).