Skip to content

Configuration ​

Comment configurer le manager de l'opérateur lui-même. Pour configurer la plateforme, consultez les pages de référence des custom resources. Une liste condensée des flags et des variables d'environnement figure sur la page Référence de configuration.

Namespaces surveillés ​

Par défaut, l'opérateur surveille tous les namespaces. Pour le restreindre — par exemple afin d'attribuer à une instance d'opérateur une portion d'un grand cluster — définissez --watch-namespaces (ou la variable d'environnement WATCH_NAMESPACES) avec une liste séparée par des virgules :

bash
--watch-namespaces=forge-gateway,forge-langfuse,forge-ui,forge-data

Gardez les namespaces système accessibles

Lorsque vous restreignez la surveillance, le License cluster-scoped et les namespaces *-system des opérateurs de capacités doivent rester accessibles. L'opérateur utilise un reader non mis en cache pour ces lectures cross-namespace, mais assurez-vous que votre RBAC les autorise toujours.

Dans Helm, définissez watchNamespaces: [...] (liste vide = tous les namespaces).

Leader election ​

La leader election est activée par défaut. Comme le moteur Helm intégré au binaire repose sur un unique réconciliateur actif (la action.Configuration de Helm n'est pas concurrency-safe), vous devriez conserver la leader election activée même en exécutant une seule réplique. Chaque contrôleur s'exécute également avec MaxConcurrentReconciles = 1.

Ressources ​

Le manager rend et installe les charts Helm en cours de processus, ce qui est gourmand en mémoire. Allouez-lui une mémoire suffisante — environ 1 Gi constitue une base sûre :

yaml
resources:
  requests: { cpu: 100m, memory: 512Mi }
  limits:   { memory: 1Gi }

Les limites par défaut de Kubebuilder sont trop faibles et se manifesteront par des OOM kills uniquement en cluster (pas sous un make run local, qui utilise votre kubeconfig et la mémoire de votre machine).

RBAC ​

L'opérateur livre un ClusterRole étendu car il installe des CRD, du RBAC de cluster, des webhooks d'admission et des workloads à travers les namespaces. Les méthodes d'installation le provisionnent pour vous. Si vous assemblez le RBAC à la main, l'opérateur a besoin, entre autres :

  • De la gestion complète des ressources *.core.navique.com et de leur /status.
  • De la gestion des CRD en amont qu'il émet (postgresql.cnpg.io, external-secrets.io, litellm.palena.ai, langfuse.palena.ai, …).
  • Des droits get/list/watch sur les customresourcedefinitions (pour attendre l'état Established).
  • Des objets de gestion des releases Helm (Secrets dans les namespaces des releases).
  • Des objets Lease pour la leader election.
  • Du ServiceAccount et du RBAC least-privilege de la console du management-plane.

Comportement d'installation des opérateurs de capacités ​

Chaque chart embarqué possède des valeurs d'installation par défaut validées et intégrées au registre de l'opérateur — voir Charts embarqués. Vous n'avez généralement pas besoin d'y toucher. Lorsque les valeurs par défaut amont d'un chart sont obsolètes (par exemple un tag d'image épinglé mais ancien), l'opérateur les surcharge pour correspondre à la version du chart qu'il livre.

Pour les clusters air-gapped, recopiez les images en amont dans votre registre et fournissez des surcharges d'image ; les charts eux-mêmes sont embarqués dans le binaire et ne nécessitent aucun accès réseau.

Console de gestion ​

L'opérateur déploie la console du management-plane par défaut, même en l'absence de toute ressource ManagementPlane. Pour modifier son host, son ingress, son SSO, son image ou son comportement de discovery, créez une ressource ManagementPlane. Pour la désactiver entièrement, définissez la valeur de chart/installation correspondante (la console peut être désactivée là où elle n'est pas souhaitée).

Haute disponibilité ​

Exécutez le manager avec plusieurs répliques et la leader election activée ; seul le leader réconcilie, et le basculement est automatique. Les workloads de la plateforme eux-mêmes sont rendus HA via leurs propres ressources (par exemple PostgresCluster.managed.instances: 3, Gateway.instance.replicas, les répliques de datastores de Langfuse).

Cœur open source sous AGPL-3.0. Les composants Enterprise sont propriétaires et soumis à licence.