客户全生命周期管理

客户全生命周期管理

01 背景

随着 Kubernetes 成为云原生时代容器编排的事实标准,社区统一使用 CRD + Controller 的方式来扩展 Kubernetes 的能力,开发云原生应用程序。这也就是 Operator 的实现。而构建 Operator 的门槛相对比较高,开发者需要了解 Kubernetes 的知识并具备相关的经验。

Operator Framework 的出现为开发制定了一整套框架,它整合了很多 Kubernetes 的专业知识,提供了一整套标准化工具方便在 Kubernetes 上轻松地创建应用程序。其中 Operator Lifecycle Manager,简称 OLM,用来管理 Operator 的生命周期。OLM 扩展了 Kubernetes 的能力,遵循 Kubernetes 交互设计理念,提供声明式的方式来安装、更新和管理 Operator 及其在集群中的依赖。

Operator 和 OLM 的关系,就如同在操作系统里,通过软件包管理去安装更新软件。OLM 在设计时,自身组件也是用 Operator 方式进行部署。接下来着重介绍 OLM 的模型定义、组件和安装使用。

02 模型

OLM 主要定义了以下资源对象模型:

2.1 CatalogSource

目录源可以理解成 Operator 仓库,它用来存储 Operator 的元数据信息,包括了集群服务版本信息、自定义资源信息、软件包信息。可以查询该目录源下有哪些 Operator 可以提供使用。以下示例是 OLM 默认安装提供的目录源,利用社区 Operator 这个 repo 构建出的镜像。该 repo 存放了大量社区 Operator 的元数据信息,并且各个 Operator 的开发者也会不定期地更新该仓库,保证最新开发的 Operator 能够提供给社区使用。官方 OperatorHub 也使用了这个 Operator 仓库。

客户全生命周期管理

2.2 Subscription

订阅表示要在某个目录源下,安装指定版本的 Operator。通过订阅某个频道,获取 Operator 的版本更新信息,以及在安装时指定自动或者手动的批准策略。不同的批准策略会影响 Operator 的安装升级。另外在订阅信息里可以添加一些配置,如环境变量、文件挂载等,用于最终 Operator 控制器的部署。

客户全生命周期管理

2.3. InstallPlan

在安装 Operator 时,会创建一个如上所述的订阅对象,然后会创建安装计划。安装计划表示安装 Operator 或者升级 Operator 到特定版本时,需要创建的一组资源。安装版本就是 ClusterServiceVersion 的对应版本。这里会根据上面订阅对象里定义的不同批准策略,进行以下操作:

当设置为自动批准策略,则安装计划会自动执行,OLM 会自动管理并升级 Operator,确保集群始终运行最新版本。当设置为手动批准策略,需要由管理员或者拥有批准权限的用户进行批准,方可执行。

安装计划会创建指定的资源,这里主要包括 ClusterServiceVersion、CRD 和 Operator SDK 打包 Bundle 里的其他一些依赖资源,并在订阅所在的命名空间下安装 Operator。这里需要特别注意,当有一个 Operator 正在进行审批时,其他的 Operator 无法直接安装。

客户全生命周期管理

2.4. OperatorGroup

Operator 组为 Operator 的安装提供多租户支持。当开发 Operator 时,可以设置该 Operator 部署集群后的作用范围,也就是通常说 watch 哪些命名空间。可以在 ClusterServiceVersion 里设置具体的安装模式。OLM 默认会在 operators 命名空间下安装一个 global-operators 的 Operator 组,该组定义安装在所有命名空间。当选择安装某个 Operator 时,根据不同的安装模式,来确定是否创建 Operator 组。分为以下几种情形:

可以将全局作用范围的 Operator 安装在 operators 命名空间下。可以在其他命名空间下创建一个全局的 Operator 组,然后进行 Operator 安装。针对只作用于某些命名空间的 Operator,可以创建 Operator 组,定义好要选择安装 Operator 的命名空间列表。OLM 会在这些命名空间下创建 Operator 所需要的 RBAC 权限。

客户全生命周期管理

2.5. ClusterServiceVersion

集群服务版本,简称 CSV,记录了某个 Operator 具体的版本信息。它提供了 Operator 元数据清单信息,主要包括了 Operator 的名称、版本、图标、描述、安装模式、能力级别、维护者信息、安装所需资源并提供 Operator 使用的一些 sample。在发布新版本 Operator 时会提供版本更新策略。

客户全生命周期管理

03 架构

客户全生命周期管理

如图所示,OLM 的组件包括 Package Server、Operator Registry、Catalog Operator、OLM Operator。

package Server:会在集群上注册 packagemanifest 的 APIService,通过 gRPC 协议调用 operator registry 服务,获取 package 信息,并生成一个个 packagemanifest 对象。

Operator Registry:上面 catalogsource 创建后,运行的 pod 其实就是 registry 服务。该服务存储了 CSV、CRD、软件包和频道的元数据信息。package manifest 是 registry 中的一个实体对象,软件包里会包含多个频道,每个频道会指向特定的 CSV 版本。各个 CSV 版本之间会明确替换关系以及升级规则,这样可以完成 Operator 每个中间版本的替换和安装,最终达到运行频道中最新版本的目的。

Catalog Operator:负责目录源的创建,并负责完成 Operator 部分资源的安装。主要包括以下步骤:

1. 监听目录源,可以定义不同类型的 catalogsource 资源对象。

2. 当目录源是 gRPC 类型时,可以使用 catalogsource 镜像去运行 registry server 的 pod 或者直接指定一个已存在 registry server 的 gRPC 地址。当目录源是 configmap 或 internal 类型时,会创建 configmap server。

3. 由上述 Package Server 组件完成相应的功能。

4. 安装 Operator 时,会创建订阅,订阅信息里会指定需要安装 Operator 的版本。此时 Catalog Operator 控制器会运行 bundleUnpack job,该 job 会运行 pod 去解压指定 Operator 的 bundle 镜像,将 bundle 镜像里Operator 的元数据信息,写入到 configmap 资源对象里。

5. 控制器会为订阅创建相对应的 installplan 资源对象。

6. 基于 configmap 里提供的 Operator 元数据信息,调和 installplan 对象,添加需要安装的资源信息。包括 CSV 资源、CSV 里定义的依赖资源如 CRD、APIService 和 webhook、RBAC 相关资源以及 Operator 运行依赖的其他资源对象。

7. 根据 installplan 对象里的安装内容,进行资源对象的创建。

另外控制器会监听目录源中,安装包对应的频道版本是否有更新,当有更新时,同样会创建出新版本的 CSV 资源和 installplan 对象,以便进行更新升级。

OLM Operator:在 Catalog Operator 控制器完成一些资源对象创建后,OLM Operator 的控制器主要调和 CSV 资源和 Operator 组资源,执行以下逻辑:

8. OLM Operator 控制器会处理 CSV 的版本升级,并保持使用最新的版本。

9. 当 Operator 作用在所有命名空间时,会将安装命名空间下的 role、rolebinding 提升到 clusterrole 和 clusterrolebinding,这样可以拥有集群管理的权限。

10. Operator 作用在指定多个命名空间或所有命名空间时,根据 olmconfig 里 disableCopiedCSVs 的功能配置,在其他命名空间下拷贝安装的源 CSV 去创建新的 CSV。

11. 根据不同的安装模式会选择创建 Operator 组,当 Operator 作用在指定多个命名空间时,会到这些命名空间下创建 Operator 运行需要的 RBAC 权限。

12. 根据订阅信息里的 config 配置和 CSV 里定义的 deployment 的安装信息,由 OLM Operator 完成每个 Operator 控制器部署。

04 安装

在了解 OLM 的功能和基础架构后,可以看一下 OLM 的安装。这里以 0.21.2 版本为例,提供脚本和命令行安装两种方式。

4.1. 脚本

通过执行以下命令来安装 OLM。

客户全生命周期管理

4.2. 命令行

大概的安装过程如下:

客户全生命周期管理

1. 部署 OLM 资源对象模型,即各个自定义资源对象 CRD;

客户全生命周期管理

2. 部署 OLM olm-operator 和 catalog-operator 组件,创建名为 olm-operator 和 catalog-operator 的 deployment ;

3. 部署 OLM package-server 组件,先创建名为 packageserver 的 CSV,CSV 创建后会部署一个名为 packageserver 的 deployment;

客户全生命周期管理

4. 部署一个 operator-registry组件,先创建名为 operatorhubio-catalog 的 catalogsource CR,catalog-operator 组件 watch 该资源并使用 catalogsource CR 里指定镜像生成 pod,该 pod 提供50051端口的 gRPC 服务;

安装完后,可以调用 packagemanifest 的 API,获取到目录源提供了哪些 Operator。

客户全生命周期管理

05 使用

在完成 OLM 默认安装后,用户可以去安装自己需要的 Operator。如安装Elasticsearch Operator,去创建一个订阅信息。

客户全生命周期管理

创建一个 Operator 组,只在 eck1 和 eck2 命名空间下安装Elasticsearch Operator。

客户全生命周期管理

订阅创建后,会创建安装计划,并进行 CSV 等资源的创建。

客户全生命周期管理

安装成功后,会在集群上安装 CRDs,并在 eck1 命名空间下运行 elastic-operator 的deployment,此时就可以在 eck1 和 eck2 命名空间下,创建 CR 使用 ECK 的功能。

客户全生命周期管理

06 总结

目前 Operator 技术已经成为扩展 Kubernetes 能力的标准方式,Operator 的开发从像使用原生资源对象一样扩展应用,发展到了封装自己的组件,开发一些有状态的、持久化的中间件,将能力以标准的方式暴露出来。在开发过程中,OLM 会提供软件的打包、安装和升级,并实现一些监控告警能力,更加高效地进行 Operator 的生命周期管理,简化运维的复杂度。目前官方 OperatorHub 上提供的 Operator 已经有 297 个,涉及应用运行时、数据库、可观测性、消息中间件、开发工具等众多类别。随着像红帽、亚马逊、腾讯云等巨头公司的使用,Operator 的技术发展也会更加地成熟稳定。

参考资料

[1] https://operatorhub.io/

[2] https://github.com/k8s-operatorhub/community-operators

[3] https://operatorframework.io/operator-capabilities/

[4]https://github.com/operator-framework/operator-sdk

[5] https://github.com/operator-framework/operator-lifecycle-manager

[6] https://github.com/operator-framework/operator-registry

[7] https://github.com/operator-framework/community-operators

[8] https://olm.operatorframework.io/docs/getting-started/#installing-olm-in-your-cluster

本文作者 :潘桂才

云原生高级后端开发工程师

热门推荐:快来 0 成本体验云原生数字底座。

https://docs.daocloud.io/download/dce5/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至827202335@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.eztwang.com/dongtai/130360.html

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年3月20日 09:04
下一篇 2023年3月20日 09:10

相关推荐

  • 找手工活在哪个平台上找比较真实可靠(外发加工接单平台)

    关于手工活代加工你知道多少?前两天跟一个朋友聊天,他跟我聊起来这个话题,我对这方面不懂,然后就听他给我讲。 大概去年三月份时候,他在1688上面找了一个手工活代加工的,当时说的很好很好,还给他看了他们的营业执照和签订合同,想着营业执照什么都看了应该没什么事。当时他就激情澎湃了,脑子一热当时就让他们发了第一批货。 第一批货到了,是需要快递到付,付了四百多块,是…

    2024年3月25日
    1400
  • 拼多多开店要钱吗(网上开店铺需要什么流程)

    拼多多作为中国的电商平台之一,吸引了越来越多的商家入驻。本文将详细介绍在拼多多开店的流程以及所需的费用。 一、拼多多开店流程1. 注册账号首先需要在拼多多官网上注册一个账号,填写正确的手机号码,并设置密码。平台会通过短信验证码的方式验证手机号是否正确,并完成账号的注册。2. 完善店铺信息在注册账号后,需要填写店铺的基本信息,包括店铺名称、店铺LOGO、经营类…

    2024年3月24日
    900
  • 兼职拿我身份证开淘宝网店(别人拿我的身份证开网店)

    遥想当年,电商刚开始发力的阶段,身边经常有人借身份证开淘宝店铺。究其原因,主要就是平台规定一人一店,所以为了多开店铺提高成功率,“七大姨八大姑”借了个遍,甚至村里的留守老人都不放过。时至今日,还不乏这样的人存在。 再说几年前,不少之前的电商创业者成了大老板,事业飞黄腾达,开了公司,买了奔驰。虽然小日子越过越滋润,但也遇到烦心事。 “啥事呢”? “不能大声说的…

    2024年3月24日
    1400
  • 闲鱼一键转卖怎么赚钱(闲鱼的一键转卖是赚佣金吗)

    “现在去闲鱼上买东西,刷好几屏都是职业卖家,真正卖闲置物品的个人越来越少了。”有网友吐槽。 知乎、百度等平台上也充斥着闲鱼赚钱攻略:“去1688、拼多多、义乌购、微商手里找货源找文案,自己不要的东西,低于均价快速卖出刷好评,提升闲鱼账号的成交量,带动流量和活跃度,权重也会变高。” 就像闲鱼的Slogan所说的,闲鱼本身是一个“卖闲置,淘二手”的平台,因其只需…

    2024年3月24日
    2100
  • 不小心把收款码发给别人了怎么办(如何重置微信收款二维码)

    众所周知,微信付款二维码不能随便发给人。但是,收款二维码能不能随便发给别人呢,会不会存在什么风险呢?事实上,还是存在一定风险的。下面简单分析一下: 1、财务风险 我们都知道,收款码是我们向别人收钱的二维码。如果发给别人,别人扫码了,我们也只是进账资金,财务上不可能会造成损失,反而是赚了钱。但是,如果正当的钱,我们可以收。如果进账的是不正当的钱,那就会给自己带…

    2024年3月24日
    24700
  • 闲鱼到付安全吗(闲鱼卖家顺丰到付对谁有利)

    贩卖二手商品,可以直接把家中闲置物品换成真金白银,把不常用的、或者根本不用的东西变卖后,购入更加常用、更加心仪的产品。对比在各大电子平台开店售卖的方式,二手交易平台是更加合理的选择。 闲鱼平台是小编用着最好的闲置物品贩卖平台,下面我所教的基本内容也是适合个人“开店”的方法。此文为经验交流,并不是教授论文,希望各位看官摆平姿态,吸收干货。 第一,取得开门红。 …

    2024年3月24日
    900
  • 1688开店铺需要多少钱(入驻1688一年要多少钱)

    阿里巴巴国际站-重庆 阿里巴巴国际站有22年的建站历史,目前已经成为全球最大的做外贸B2B(批发)网站,主要招商对象是中国商家,买家分布在200多个海外国家和地区。国际站俗称“1688海外版/英文版”,其实国际站除了有1688相似的找批发买家流量提供之外,还提供了出口、报关退税、出口物流,还有现如今最受关注的收外汇等多项国际贸易辅助业务。 先来说说入驻费用:…

    2024年3月24日
    1000
  • 抖音商城怎么开店(怎样在抖音上开店铺卖商品)

    抖音上怎么开店,目前在抖音很多用户都在推销自己的视频时候,都附带了很多商店的连接,其中的流量可想而知,对于很多刷抖音的人来说这里是最好的推销地方,那么如何在抖音上开店呢?开店铺需要什么条件?下面就跟小编一起来看看抖音开店教程步骤! 抖音开店教程步骤 1.首先你要有自己的抖音号,注册一个并且登录,在“我”这个页面右上角有三条整齐的横线“三”点开,底下有个“设置…

    2024年3月24日
    500
  • 淘宝中评对卖家的影响(淘宝中评多久显示)

    淘宝的评价系统规定只有在商家购买了商品之后才能对其进行评价,一般来说,买家购买的商品只要不和商家描述的有太大出入的话,那么买家是不会恶意给中评的,除了恶评师。店铺很可能会因为顾客的一个差评或者一个中评而对店铺的权重产生影响,从而使店铺的销量下降和声誉受损。那么一个淘宝店铺被给于中评,会对其产生什么影响?以下是关于淘宝的评价系统的介绍。 一、淘宝店被中评有啥影…

    2024年3月24日
    900
  • 女生学美甲赚钱吗(女孩子做美甲行业好吗)

    有很多人问我当美甲师一个月能挣多少钱?我告诉你挣不了多少钱。很多女孩喜欢去做美甲,美甲师看似很挣钱,不过挣的也是辛苦钱。美甲师的月收入一般有两种:一种是有底薪的,一种是底薪加提成。在一般城市的美甲师底薪不超过3000,另一种底薪不高,一般提成在20%-30%左右,是一项多劳多得的技术。 美甲师的工资还和很多因素有关: ·1.所在地消费水平不同。消费水平高的城…

    2024年3月23日
    2800
  • 速卖通是b2c还是c2c(速卖通跨境电商)

    今天,我们将探索的是“速卖通”——被誉为“国际版淘宝”的跨境电商平台! 速卖通作为阿里巴巴旗下的跨境电商平台,在中国,它是最大的跨境出口B2C平台之一。同时,速卖通也在俄罗斯、西班牙等国家排名榜首,站点覆盖超过200个国家,广受欢迎。 平台费用与平台物流 速卖通的费用模式相对灵活,只需要支付佣金,佣金范围为3%到8%,并且享有无月租费优势。收款方面,买家确认…

    2024年3月23日
    700
  • 一般什么地方招暑假工(暑假临时工招聘网)

    马上就要放暑假了,各位大学生们的暑假工作是不是找好了呢。还没有找到的小伙伴们不要着急,我们现在就来分享一下2022网上找暑假工比较靠谱的软件。看看有没有让你心仪的那一款呢?可以根据以下平台来选择,比较可靠真实: 1. BOSS直聘、58同城、赶集网、智联招聘、前程无忧51Job、拉勾招聘等平台都有海量的优质岗位,可以根据自己的需求选择合适的平台。 2. 探儿…

    2024年3月23日
    600
  • 美甲店一天能挣1000吗(开美甲店会亏钱吗)

    我是一家个人美甲店,每天能赚多少钱呢? 我是一家个人美甲店,位于谷埠街国际商城。今天的收入达到了1200元,其中包括两个指甲的美甲服务、一个美睫和一个眉毛。 ·第一位顾客是通过抖音视频找到我的,她看到我们家有特色的建构养甲项目,毫不犹豫地选择了纯色加建构的服务,价格为49.9元。 ·第二位顾客是我的老顾客,一直对我的技术非常认可。上个月她在我这里做了一个不开…

    2024年3月23日
    800
  • 开网店卖什么东西好赚钱(网店初学者适合卖什么)

    开网店卖小饰品是一种越来越受欢迎的创业方式。随着人们对个性化产品和定制化服务的需求不断增加,小饰品作为一种简单易行、价格亲民的商品形式,具有很大的市场潜力。 虽然开网店卖小饰品是一种相对容易入门的创业方式,但是赚钱并不是轻松的事情。首先,您需要有一个新颖独特的产品系列,以吸引消费者的吸意力;其次,您需要掌握一些基本的营销技巧,例如拍摄高质量的产品图片,并在社…

    2024年3月23日
    500
  • 电商怎么发货才便宜(拼多多无货源在哪里找货源)

    如今快节奏的生活环境下,人们对于生活质量的要求和物质享受的追求也是逐步的提高,单单的吃饱穿暖已经不太符合如今的生活的追求。 创业项目,副业项目,现在已经成为了年轻人们的新选择,尤其是目前互联网创业前景广阔,正适合年轻人大展拳脚。 但同样,经常有人会说十个创业九个死,虽然机会多,但竞争也更大,在潮流中倒下的创业者同样是一波接着一波。 随着拼多多的快速崛起和发展…

    2024年3月23日
    800
  • 初中学历的宝妈适合考什么证(四十多岁还能考什么证)

    初中学历可以考多种证书,以下是一些可供参考的证书类型: 会计从业资格证:初中以上学历,年满18周岁即可报名。 电工操作资格证(上岗证):年满18周岁且符合相关工种规定的年龄要求,经医院体检合格且无妨碍从事相应特种作业的疾病和生理缺陷,初中及以上学历,符合相应特种作业需要的其他条件。 计算机等级证书:考生不受年龄、职业、学历等背景的限制,均可根据自己学习情况和…

    2024年3月23日
    700
  • 什么工作可以在手机上做(手机上的兼职有哪些)

    1.网上问卷调查 网上问卷调查是一个简单的赚钱方法,只需要你花费一些时间填写一些调查问卷,就可以获得一些报酬。一些市场调研公司和在线调查平台,经常需要人们填写一些问卷来帮助他们更好地了解市场和消费者需求。你可以去一些问卷调查网站注册,填写一些问卷调查,一般每份问卷的报酬是2-5元不等,根据问卷的难度不同而有所区别。如果你愿意花费更多时间填写问卷,你可以得到更…

    2024年3月23日
    1300
  • 1688一件代发利润大概在多少(免费一件代发正规平台)

    肯定能啊!不然不赚钱为啥有这么多人去做! 但是也不是说你做了就能赚钱,就跟做生意一个道理,能不能赚钱看的是个人能力! 但是相对来说,一件代发是非常简单的了,机会也比较大,投入和产出的回报比也比较高! 至于题主说的一些费用,很多都没有必要,如果想尝试我建议的是以最小的投资来做。 先简单说说一件代发: “一件代发”顾名思义,就是你作为卖家,哪怕你只卖出一件产品,…

    2024年3月21日
    900
  • 暑假工干什么比较好(暑假工一般找什么工作)

    给你几点建议,希望能帮到你。 01 如果你去电子厂或者机械厂打工,要防止招你的人是不是中介,干多久可以离职,根据我的经验,一般厂里是干三个月才能走,如果你干两个月,到最后离开会很困难,可能到时候干了中介会不断拖你工资。 另外还有一点要注意,在一些APP上找工作,一般招聘者都是中介公司。当你面试之后,不可能马上入职。 就例如我和我同学在58同城找工作去了之后才…

    2024年3月21日
    1000
  • 品牌折扣店的货是真是假(折扣店的东西为什么便宜)

    你在网上看到那些价格很便宜的品牌折扣网站,比如唯品会,会不会想:“这么便宜,质量能保证吗?”今儿我们就讲讲,他们怎么做到比传统的零售商卖的便宜,还是真货。大概四个原因。 第一、品牌折扣平台一般卖的都是品牌的过季产品或者库存产品,品牌商需要清理库存,愿意以很低的价格把产品出掉。 第二,品牌折扣品牌所在的品类一般都是服装和家居产品,这类产品的定价策略一般都是按照…

    2024年3月21日
    700

发表回复

登录后才能评论

联系我们

18312384410

在线咨询: QQ交谈

邮件:827202335@qq.com

添加微信