What's New in Operator Framework?
By the nice operator framework guys at IBM and Red Hat. I’ll skip the baseline introduction of what an operator is.
Operator DSK
Build the operator
- Kubebuilder with v4 Plugins -> Supports the latest Kubernetes
- Java Operator SDK is not a part of Operator SDK, and they released 5.0.0
- Now with server side apply in the background
- Better status updates and finalizer handling
- Dependent resource handling (alongside optional dependent resources)
Operator Lifecycle Manager
Manage the operator -> A operator for installing operators
OLM v1 APIs
- New API Set -> The old CRDs were overwhelming
- More GitOps friendly with per-tenant support
- Prescribes update paths (maybe upgrade)
- Support for operator bundles as k8s manifests/helm chart
OLM v1 Components
- Cluster Extension (User-Facing API)
- Defines the app you want to install
- Resolves requirements through CatalogD/depply
- CatalogD (Catalog Server/Operator)
- Depply (Dependency/Constraint solver)
- Applier (Rukoak/kapp compatible)
flowchart TD uapi(User facing api)-->|Can I find this operator|catalaogd catalogd-->|Check if all dependencies are checked|depply depply-->|Please install|kapp
flowchart LR oa(operator author)-->ba(Bundle and att to catalog) ba-->catalogd(Catalogd Handle unpackling) user-->ufa(User facing api) ufa-->|Resolve package|catalogd ufa-->|Create app on cluster|appcr(App CR / kapps)