Ich glaube, der Begriff "kubernetes operator" wurde von den CoreOS-Leuten hier eingeführt
Ein Operator ist ein anwendungsspezifischer Controller, der die Kubernetes-API erweitert, um Instanzen komplexer Stateful-Anwendungen im Auftrag eines Kubernetes-Benutzers zu erstellen, zu konfigurieren und zu verwalten. Es baut auf den grundlegenden Ressourcen- und Controller-Konzepten von Kubernetes auf, enthält jedoch auch domänen- oder anwendungsspezifisches Wissen, um allgemeine Aufgaben zu automatisieren, die besser von Computern verwaltet werden.
Ein Kubernetes-Operator ist also im Grunde der Name eines Musters, das aus einem Kubernetes-Controller besteht, der der Kubernetes-API neue Objekte hinzufügt, um eine Anwendung wie Prometheus oder etcd zu konfigurieren und zu verwalten.
In einem Satz: Ein Operator ist ein domänenspezifischer Controller.
Aktualisieren
Auf Github gibt es eine neue Diskussion zu demselben Thema, die auf denselben Blog-Beitrag verweist. Relevante Teile der Diskussion sind:
Alle Operatoren verwenden das Controller-Muster, aber nicht alle Controller sind Operatoren. Es ist nur ein Operator, wenn es Folgendes hat: Controller-Muster + API-Erweiterung + Fokus auf eine einzelne App.
Operator ist eine angepasste Steuerung, die mit CRD implementiert ist. Es folgt dem gleichen Muster wie eingebaute Controller (dh Uhr, Diff, Aktion).
Update 2
Ich habe einen neuen Blog-Beitrag gefunden , der versucht, den Unterschied ebenfalls zu erklären.