简介
组件介绍
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 等资源配置。 |
在 Operator 安装管理生命周期中的 Deployment、Serviceaccount、RBAC 相关的角色和角色绑定通过 OLM operator 创建。Catalog Operator 负责 CRDs 和 CSVs 等资源的创建。OLM Operator 的工作基于 ClusterServiceVersion,一旦 CSV 中声明的依赖资源在目标集群中注册成功,OLM Operator 将负责安装这些资源对应的应用实例。Catalog Operator 主要负责解析 CSV 中声明的依赖资源定义,同时通过监听 catalog 中安装包对应 channels 的版本定义完成 CSV 对应的版本更新。
部署在集群内的 Kubernetes 对象
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: 10mmemory request: 160Mi | operator-lifecycle-manager |
catalog-operator | Deployment | cpu request: 10mmemory 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以上版本集群,无需修改任何参数,开箱可用。仅支持1.12版本以上的 kubernetes。需设置 kube-apiserver 的启动参数:--feature-gates=CustomResourceSubresources=true
操作步骤
1. 登录 容器服务控制台,在左侧导航栏中选择集群。2. 在集群列表中,单击目标集群 ID,进入集群详情页。3. 选择左侧菜单栏中的组件管理,在组件管理页面单击新建。4. 在新建组件管理页面中勾选 OLM。5. 单击完成即可创建组件。
容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/147635.html