Pattern Kubernetes étendant l'API pour automatiser la gestion d'apps complexes.
Un Operator est un pattern et un type d'application Kubernetes qui étend l'API K8s pour automatiser la gestion (déploiement, configuration, mise à jour, sauvegarde, recovery) d'applications complexes via des CRDs (Custom Resource Definitions) et un contrôleur custom qui réagit aux changements. C'est l'application du modèle déclaratif de K8s à la gestion d'apps stateful sophistiquées.
Le pattern est : (1) définir un CRD qui décrit votre application en YAML (ex: kind: PostgresqlCluster), (2) écrire un contrôleur (en Go avec Operator SDK / Kubebuilder, ou en Python avec Kopf, ou en Helm/Ansible) qui watch les ressources de ce kind et fait les actions nécessaires (créer des StatefulSets, Services, Secrets, lancer des backups...), (3) packager le tout pour déploiement.
Exemples célèbres d'operators : cert-manager, prometheus-operator, kafka-strimzi, postgres-operator (Zalando, Crunchy, CloudNativePG), elastic-operator, istio-operator. OperatorHub (operatorhub.io) liste les operators publics. Le Capability Level (1-5) mesure la maturité d'un operator. Compétence avancée pour SRE Kubernetes.
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →