You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An Operator is an application-specific controller that extends the Kubernetes API to create, configure, manage, and operate instances of complex applications on behalf of a user.
@@ -96,7 +93,7 @@ Learn more about the components used by OLM by reading about the [architecture]
96
93
97
94
## CustomResourceDefinitions
98
95
99
-
OLM standardizes interactions with operators by requiring that the interface to an operator be via the Kubernetes API. Because we expect users to define the interfaces to their applications, OLM currently uses CRDs to define the Kubernetes API interactions.
96
+
OLM standardizes interactions with operators by requiring that the interface to an operator be via the Kubernetes API. Because we expect users to define the interfaces to their applications, OLM currently uses CRDs to define the Kubernetes API interactions.
@@ -112,9 +109,9 @@ To minimize the effort required to run an application on kubernetes, OLM handles
112
109
113
110
This is achieved through additional metadata on the application definition. Each operator must define:
114
111
115
-
- The CRDs that it is responsible for managing.
112
+
- The CRDs that it is responsible for managing.
116
113
- e.g., the etcd operator manages `EtcdCluster`.
117
-
- The CRDs that it depends on.
114
+
- The CRDs that it depends on.
118
115
- e.g., the vault operator depends on `EtcdCluster`, because Vault is backed by etcd.
119
116
120
117
Basic dependency resolution is then possible by finding, for each “required” CRD, the corresponding operator that manages it and installing it as well. Dependency resolution can be further constrained by the way a user interacts with catalogs.
@@ -126,7 +123,8 @@ Dependency resolution is driven through the `(Group, Version, Kind)` of CRDs. Th
126
123
There is no way to express a dependency on a particular version of an operator (e.g. `etcd-operator v0.9.0`) or application instance (e.g. `etcd v3.2.1`). This encourages application authors to depend on the interface and not the implementation.
127
124
128
125
## Discovery, Catalogs, and Automated Upgrades
129
-
OLM has the concept of catalogs, which are repositories of application definitions and CRDs.
126
+
127
+
OLM has the concept of catalogs, which are repositories of application definitions and CRDs.
130
128
131
129
Catalogs contain a set of Packages, which map “channels” to a particular application definition. Channels allow package authors to write different upgrade paths for different users (e.g. alpha vs. stable).
132
130
@@ -155,7 +153,7 @@ Catalogs are served internally over a grpc interface to OLM from [operator-regis
155
153
156
154
## Samples
157
155
158
-
To explore any operator samples using the OLM, see the [https://operatorhub.io/](https://operatorhub.io/) and its resources in [Community Operators](https://github.com/operator-framework/community-operators/tree/master/upstream-community-operators).
156
+
To explore any operator samples using the OLM, see the [https://operatorhub.io/](https://operatorhub.io/) and its resources in [Community Operators](https://github.com/operator-framework/community-operators/tree/master/upstream-community-operators).
0 commit comments