K8S中CRD与Operator的关系云原生
什么是CRD?
Kubernetes 1.7之后,提供了CRD(CustomResourceDefinitions)自定义资源的二次开发能力来扩展kubernetes API,通过此扩展可以向kubernetes API中增加新的资源类型,会比修改kubernetes apiserver的源代码或创建自定义的apiserver来的更加的简洁和容易。k8s上创建资源的过程用户创建一个资源,实际上是把k8s抽象的资源根据资源清单(yaml文件)做实例化。具体过程如下:
(1)用户的资源请求发送给apiserver,通过apiserver的认证、授权、准入控制以后,通过apiserver把对应的资源定义信息存放在etcd中;
(2)对应资源类型的控制器一般被称为 controller或operator,controller通过watch机制监听apiserver上的资源变动,通过对应资源变动事件触发对应类型资源的控制器从etcd中读取对应资源的定义,并将对应资源创建出来,并通过控制器内部的和解循环(control loop)监控着对应资源状态是否和用户定义的期望状态一样;如果发现不一样,内部和解循环就会被触发,对应的控制器会向apiserver发起创建资源的请求,将对应资源重建,让对应资源的状态始终满足用户期望的状态。
对于etcd来说,它是就一个kv数据库,可以存储任意类型的kv数据,但在k8s上,apiserver将不同类型的资源定义抽象成不同的资源,使得用户创建对应资源必须是满足对应类型资源定义的规范,然后将资源定义存放在etcd中。简单讲就是存入etcd中的数据必须是满足对应apiserver接口定义的规范。
k8s扩展资源类型的方式
在k8s上扩展资源类型的方式有三种:第一种是:CRD
crd是k8s内置的资源类型,通过crd资源可以将用户自定义资源类型转换为k8s上资源类型;
第二种是:自定义apiserver
这种方式是复用 Kubernetes 的一些特性的同时,自由度最高的方式。可以自定义存储等,同时保有一定程度的公共特性。Cloud TiDB 的实现就是通过自定义 API server 进行的;
第三种是:修改源码
让现有k8s apiserver的源码支持对应用户自定义资源类型;
另外,进行自定义资源类型,只能把对应资源类型的定义信息写入到etcd中,不能让对应自定义类型资源实例化为一个自定义资源对象,它不能真正的跑起来,要想真正的跑起来,我们还需要一个自定义控制器,将对应资源实例化为k8s上的资源对象,并专门负责监听对应的资源类型的资源变化,因此需要下面两个组件:(1)自定义资源类型CRD;
(2)对应自定义资源类型的控制器Controller;
Controller的作用是通过API Server提供的接口实时的对指定的resource进行监听和执行的动作(watch,diff,action)。K8S种内置控制器类型:
Deployment;StatefulSet;DaemonSet;Job;CronJobCRD和Operator的区别
所有的Operator都是基于Controller模式,Operator是使用CRD实现的定制化的Controller. 它与内置K8S Controller遵循同样的运行模式(比如 watch, diff, action);operator的逻辑也是创建一个crd资源,再创建一个控制器。写在最后
Operator的开发可以通过构建工具Kubebuild来规范化,模板化,省时,省力。
首届数据安全大赛迎来总决赛,永信至诚数字风洞为数据安全护航为贯彻落实数据安全法,促进数据安全风险防控和保障能力提升,首届数据安全大赛于数据安全法施行一周年正式启动,并将于2月21日在国内首个网络安全科技馆迎来总决赛。永信至诚作为承办单位,
通过基金选股的技术分析通过基金选股的技术分析由于基金持仓组合披露的时间周期,我们可以从基金持仓组合品种所处的阶段位置与相关技术要素,发现基金持仓组合品种的投资价值。经过一个阶段性下跌之后,基金持仓组合中
河北沧州经济开发区在京举行招商推介会纵览客户端讯(通讯员刘宏杨)2月17日,河北沧州经济开发区在北京举行招商推介会,3个项目签约。会上,沧州经济开发区分别与氢华动力(北京)科技股份有限公司中建兴达(北京)贸易有限公司
微软自动化神器Playwright(一)之环境搭建及脚本录制一前言半年前,偶然在视频号刷到某机构正在直播讲解Playwright框架的使用,就看了一会,感觉还不错,便被种草,就想着自己有时间也可以自己学一下,这一想着就半年多过去了。读到这,
探讨人工智能的优势挑战和应对策略人工智能是当今最热门和最引人注目的技术之一。它已经在许多不同的领域得到了应用,包括医疗保健金融交通制造业等。人工智能正在改变我们的生活方式,它为我们带来了许多好处,但也存在着一些潜
地下城与勇士游戏名称及部分游戏内容调整说明近日,地下城与勇士官方公布关于游戏名称及部分游戏内容调整的说明,官方表示将在2月23日的版本更新中,对地下城与勇士的名称产品图标产品内部分文字内容及美术素材美术表现进行调整,更新补
驱动浪中的规律总结驱动浪中的规律总结在波浪理论中,波浪的发展方式有两种驱动方式和调整方式。驱动浪是以驱动方式发展,其中的五浪又分为股价向上运动的三浪(浪1浪3浪5)和股价向下调整趋势的两浪(浪2浪4
哈勃望远镜发现一颗恒星以50万公里的时速,直奔太阳系飞来在阅读此文前,麻烦您点击一下关注,既方便您进行讨论与分享,又给您带来不一样的参与感,深度长文,希望您能够认真看完,感谢您的支持!根据科学家的研究我们能够知道,地球上生活着很多生物,
打卡武康大楼又有新发现!郁金香下班,绣球花上岗最近,武康路上的郁金香火了,早春浪漫一大波等标签吸引了市民游客纷至沓来,小小的花钵前甚至排起了长队。虽然因为照片的拍摄角度关系,有些市民游客觉得有照骗的嫌疑,但更多的人则觉得发现美
神兽归笼后,如何合理膳食为孩子营得健康?神兽开学后,不少家长希望了解如何在忙碌的学习中给孩子补充营养。来看市卫健委给出的建议吃不同食物建议每人每天吃12种以上食物。每天吃全谷物,如小麦玉米大米豆类,这些食物富含膳食纤维,
孩子牙齿健康常识儿童涂氟在家做VS到口腔医院的区别,哪个好提起儿童涂氟,父母们观点不一,有的赞成有的反对,部分父母认为给孩子涂氟不安全,自己给孩子多刷牙就行啦,等孩子蛀牙后才意识到涂氟的重要性。儿童牙齿涂氟是在孩子牙齿上涂上一层氟化物,在