|
| 1 | +# Operators |
| 2 | + |
| 3 | +## What are Operators? |
| 4 | +The [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) is the concept of running "meta" software within your cluster to manage your applications and supporting components. |
| 5 | + |
| 6 | +For example, you as a cluster operator may provision a `OpensourceDatabaseSoftware` |
| 7 | +(an operator-defined [Custom Resource](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)), and the operator would take care of provisioning the underlying resources (Deployments, ConfigMap, Secrets, Pods, etc) on your behalf, based on the configuration you provide. |
| 8 | + |
| 9 | +Within OKD, we use a suite of tools called [Operator Framework](https://operatorframework.io/) to manage operators within the cluster |
| 10 | +(an operator for operators). With Operator Framework we can access operators from central catalogs (such as this one) |
| 11 | +and install them within your cluster. |
| 12 | + |
| 13 | +### Isn't that what Helm is for? |
| 14 | + |
| 15 | +Helm is a different way of deploying software into Kubernetes clusters. Helm Chats are a set of templates, and then based on your specification (from `values.yaml`), the Helm Controller renders those resources out. Helm Charts often relies on existing Kubernetes primitives (e.g. Deployment) to manage the running pods. |
| 16 | + |
| 17 | +Some Operators will use Helm internally to handle the creation of their Kubernetes resources, whilst the operator also provides additional management functionality (such as backup coordination) |
| 18 | + |
| 19 | +## Where can I find Operators to install on my cluster? |
| 20 | +OKD currently by default includes a catalog shared with OpenShift called "[Community Operators](https://github.com/redhat-openshift-ecosystem/community-operators-prod)". These Community Operators are often packaged with OKD/OpenShift in mind. |
| 21 | + |
| 22 | +There is also [OperatorHub.io](https://operatorhub.io/) which contains a larger catalog of software, however operators in this catalog are more likely to not be compatible with OKD/Openshift. |
| 23 | + |
| 24 | +### [OKDerators](./okderators/index.md) |
| 25 | + |
| 26 | +The OKD Working Group packages an opionated and curated set of operators called "[OKDerators](./okderators/index.md)". These are intended to be the OKD alternative to the private catalogs included within OpenShift (see below). |
| 27 | + |
| 28 | +OKDerators includes solutions for Storage, Cluster Logging, GitOps, Multi-cluster and more. |
| 29 | + |
| 30 | +We need contributors to help package operators for OKDerators. We are especially seeking contributions to package Virtualisation and AI operator sets. |
| 31 | + |
| 32 | +### Why do you need OKD-adapted operators/applications? |
| 33 | +Compared to many other Kubernetes distributions, OKD has additional security restrictions, assumptions and features |
| 34 | +that mean an operator or application that would work "out of the box" on a more vanilla Kubernetes distribution, |
| 35 | +does not function on OKD. For example, additional security profiles may need to be applied, or MachineConfigs applied |
| 36 | +to add node features. |
| 37 | + |
| 38 | +## Are these "Cluster Extensions"? |
| 39 | + |
| 40 | +Some vendors (such as RedHat) use the term "Cluster Extension" to describe an opionated deployment of an operator or set of operators that bring significant functionality into their Kubernetes distribution (such as Storage or Virtualisation). |
| 41 | + |
| 42 | +### Can I install OpenShift Cluster Extensions/Operators on my OKD cluster? |
| 43 | + |
| 44 | +Red Hat OpenShift includes two additional private catalog sources. "redhat-operators" and "certified |
0 commit comments