2024-03-22 14:23:38 +00:00
|
|
|
---
|
|
|
|
title: What's New in Operator Framework?
|
|
|
|
weight: 3
|
2024-03-25 12:45:10 +00:00
|
|
|
tags:
|
|
|
|
- platform
|
|
|
|
- operator
|
|
|
|
- scaling
|
2024-03-22 14:23:38 +00:00
|
|
|
---
|
|
|
|
|
2024-03-26 14:19:51 +00:00
|
|
|
By the nice operator framework guys at IBM and Red Hat.
|
2024-03-22 14:23:38 +00:00
|
|
|
I'll skip the baseline introduction of what an operator is.
|
|
|
|
|
|
|
|
## Operator DSK
|
|
|
|
|
|
|
|
> Build the operator
|
|
|
|
|
2024-03-26 14:19:51 +00:00
|
|
|
* Kubebuilder with v4 Plugins -> Supports the latest Kubernetes
|
|
|
|
* Java Operator SDK is not a part of Operator SDK, and they released 5.0.0
|
2024-03-22 14:23:38 +00:00
|
|
|
* Now with server side apply in the background
|
|
|
|
* Better status updates and finalizer handling
|
2024-03-26 14:19:51 +00:00
|
|
|
* Dependent resource handling (alongside optional dependent resources)
|
2024-03-22 14:23:38 +00:00
|
|
|
|
2024-03-26 14:19:51 +00:00
|
|
|
## Operator Lifecycle Manager
|
2024-03-22 14:23:38 +00:00
|
|
|
|
|
|
|
> 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
|
2024-03-26 14:19:51 +00:00
|
|
|
* Prescribes update paths (maybe upgrade)
|
|
|
|
* Support for operator bundles as k8s manifests/helm chart
|
2024-03-22 14:23:38 +00:00
|
|
|
|
|
|
|
### OLM v1 Components
|
|
|
|
|
|
|
|
* Cluster Extension (User-Facing API)
|
|
|
|
* Defines the app you want to install
|
2024-03-26 14:19:51 +00:00
|
|
|
* Resolves requirements through CatalogD/depply
|
|
|
|
* CatalogD (Catalog Server/Operator)
|
|
|
|
* Depply (Dependency/Constraint solver)
|
2024-03-22 14:23:38 +00:00
|
|
|
* Applier (Rukoak/kapp compatible)
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
flowchart TD
|
|
|
|
uapi(User facing api)-->|Can I find this operator|catalaogd
|
|
|
|
catalogd-->|Check if all dependencies are checked|depply
|
|
|
|
depply-->|Please install|kapp
|
|
|
|
```
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
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)
|
|
|
|
```
|