Re: Operator Framework questions
sorry for the late reply - responding inline. Thanks for the questions - keep them coming!
On Wed, Oct 9, 2019 at 6:22 PM Gareth Rushgrove <gareth@...> wrote:
Thanks for the presentation, I had a few questions and thought I'd
I think this definition is still valid. An Operator is a custom controller with its own CRDs serving as the user interface (exceptions exist).
The Framework is designed to be open to the way the Operator itself is built. The packaging format and OLM don't depend on the SDK.
However there is of course good integration between the SDK and OLM.
It is under the Framework: https://github.com/operator-framework/operatorhub.io
And yes, a kopf operator, or a kubebuilder operator, or KUDO or something entirely custom can be added to this. They enabling part is the packaging format that drives the indexing and visual display.
The Operator SDK project maintainers collaborate with the Helm maintainers, primarily on the Helm-based Operator pattern the SDK provides.
Helm in general focusses on Day 1 operations: bundle & install using an external tool. Operators include that and put emphasis on Day 2 operations: orchestrated updates, complex re-configuration without re-deploying from scratch, backup / restore, failover / failback, etc with kubectl. Helm serves stateless applications very well, that can be entirely maintained using the built-in functionality in k8s. Operators serve those too but provide an evolution to templating package manifests by extending the built-in k8s functionality, thus enabling k8s to run stateful applications and advanced, distributed systems.
Regarding the Operator Hub point as well. One thing I feel we should
I get this sentiment. I think it's important to point out that Operators and Applications are different concepts. I'd like to think of Operators as managed service providers to get managed instances of applications. So the question a user would be asking instead: do I want to enable my cluster to serve me that application and manage it or do I want to run it myself?
He / Him / His
Product Manager OpenShift