Chapter 1. Extensions overview
Operator Lifecycle Manager (OLM) v1 is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.
Extensions enable cluster administrators to extend capabilities for users on their OpenShift Container Platform cluster.
Operator Lifecycle Manager (OLM) has been included with OpenShift Container Platform 4 since its initial release. OpenShift Container Platform 4.17 includes components for a next-generation iteration of OLM as a Generally Available (GA) feature, known during this phase as OLM v1. This updated framework evolves many of the concepts that have been part of previous versions of OLM and adds new capabilities.
1.1. Highlights
Administrators can explore the following highlights:
- Fully declarative model that supports GitOps workflows
OLM v1 simplifies extension management through two key APIs:
A new
ClusterExtension
API streamlines management of installed extensions, which includes Operators via theregistry+v1
bundle format, by consolidating user-facing APIs into a single object. This API is provided asclusterextension.olm.operatorframework.io
by the new Operator Controller component. Administrators and SREs can use the API to automate processes and define desired states by using GitOps principles.NoteEarlier Technology Preview phases of OLM v1 introduced a new
Operator
API; this API is renamedClusterExtension
in OpenShift Container Platform 4.16 to address the following improvements:- More accurately reflects the simplified functionality of extending a cluster’s capabilities
- Better represents a more flexible packaging format
-
Cluster
prefix clearly indicates thatClusterExtension
objects are cluster-scoped, a change from existing OLM where Operators could be either namespace-scoped or cluster-scoped
-
The
Catalog
API, provided by the new catalogd component, serves as the foundation for OLM v1, unpacking catalogs for on-cluster clients so that users can discover installable content, such as Kubernetes extensions and Operators. This provides increased visibility into all available Operator bundle versions, including their details, channels, and update edges.
ImportantCurrently, Operator Lifecycle Manager (OLM) v1 cannot authenticate private registries, such as the Red Hat-provided Operator catalogs. This is a known issue. As a result, the OLM v1 procedures that rely on having the Red Hat Operators catalog installed do not work. (OCPBUGS-36364)
For more information, see Operator Controller and Catalogd.
- Improved control over extension updates
- With improved insight into catalog content, administrators can specify target versions for installation and updates. This grants administrators more control over the target version of extension updates. For more information, see Updating an cluster extension.
- Flexible extension packaging format
Administrators can use file-based catalogs to install and manage extensions, such as OLM-based Operators, similar to the existing OLM experience.
In addition, bundle size is no longer constrained by the etcd value size limit. For more information, see Installing extensions.
- Secure catalog communication
- OLM v1 uses HTTPS encryption for catalogd server responses.
1.2. Purpose
The mission of Operator Lifecycle Manager (OLM) has been to manage the lifecycle of cluster extensions centrally and declaratively on Kubernetes clusters. Its purpose has always been to make installing, running, and updating functional extensions to the cluster easy, safe, and reproducible for cluster and platform-as-a-service (PaaS) administrators throughout the lifecycle of the underlying cluster.
The initial version of OLM, which launched with OpenShift Container Platform 4 and is included by default, focused on providing unique support for these specific needs for a particular type of cluster extension, known as Operators. Operators are classified as one or more Kubernetes controllers, shipping with one or more API extensions, as CustomResourceDefinition
(CRD) objects, to provide additional functionality to the cluster.
After running in production clusters for many releases, the next-generation of OLM aims to encompass lifecycles for cluster extensions that are not just Operators.