OLM(Operator Lifecycle Manager)作为 Operator Framework 的一部分,可以帮助用户进行 Operator 的自动安装,升级及生命周期的管理。同时 OLM 自身以 Operator 的形式进行安装部署,其工作方式是以 Operators 来管理 Operators,且面向 Operator 提供的声明式(declarative)自动化管理能力完全符合 Kubernetes 交互的设计理念。
OLM 由两个 Operator 构成:OLM Operator 和 Catalog Operator,其分别管理以下几个基础 CRD 模型:
资源名称 | 简称 | 所属 Operator | 描述 |
---|---|---|---|
ClusterServiceVersion | csv | OLM | 业务应用元数据,包括应用名称、版本、图标、依赖资源、安装方式等。 |
InstallPlan | ip | Catalog | 计算自动安装或升级 CSV 过程中需要创建的资源集。 |
CatalogSource | catsrc | Catalog | 用于定义应用的 CSVs、CRDs、安装包的仓库。 |
Subscription | sub | Catalog | 通过跟踪安装包中的 channel 保证 CSVs 的版本更新。 |
OperatorGroup | og | OLM | 用于 Operators 安装过程中的多租户配置,可以定义一组目标 namespaces 指定创建Operators 所需的 RBAC 等资源配置。 |
Kubernetes 对象名称 | 类型 | 请求资源 | 所属 Namespace |
---|---|---|---|
catalogsources.operators.coreos.com | CustomResourceDefinition | - | - |
clusterserviceversions.operators.coreos.com | CustomResourceDefinition | - | - |
installplans.operators.coreos.com | CustomResourceDefinition | - | - |
operatorgroups.operators.coreos.com | CustomResourceDefinition | - | - |
operators.operators.coreos.com | CustomResourceDefinition | - | - |
subscriptions.operators.coreos.com | CustomResourceDefinition | - | - |
olm-operator | Deployment | cpu request: 10m memory request: 160Mi |
operator-lifecycle-manager |
catalog-operator | Deployment | cpu request: 10m memory request: 80Mi |
operator-lifecycle-manager |
system:controller:operator-lifecycle-manager | ClusterRole | - | - |
aggregate-olm-view | ClusterRole | - | - |
aggregate-olm-edit | ClusterRole | - | - |
olm-operator-binding-operator-lifecycle-manager | ClusterRoleBinding | - | - |
olm-operator | ServiceAccount | - | operator-lifecycle-manager |
operators | Namespace | - | - |
operator-lifecycle-manager | Namespace | - | - |
packageserver | ClusterServiceVersion | - | operator-lifecycle-manager |
olm-operators | OperatorGroup | - | operator-lifecycle-manager |
global-operators | OperatorGroup | - | operators |
OLM 可以帮助用户安装、更新和管理所有 Operator 的生命周期。
OLM 组件卸载后,为了保证用户的业务不会被影响,通过 OLM 部署的 Operator 不会被清理,并且该组件相关的 CRD 资源也不会被清理,此类 CRD 资源可以通过手动方式进行删除。
说明您在创建集群时选择1.12.4以上版本集群,无需修改任何参数,开箱可用。
--feature-gates=CustomResourceSubresources=true
本页内容是否解决了您的问题?