Kubernetes CRD

本文介绍了Kubernetes的CRD(CustomResourceDefinition)机制,允许开发者为平台添加自定义资源。通过CRD,可以注册如KafkaSource这样的新资源,并实现对应的controller来处理资源操作。Kubebuilder作为工具,简化了CRD的开发流程,包括创建项目、定义API和构建controller。文章详细阐述了使用Kubebuilder创建自定义CronJob的步骤和生成的项目结构。
摘要由CSDN通过智能技术生成

CRD

GitHub地址:https://github.com/kubernetes-sigs/kubebuilder

Kubernetes 里资源类型有如下所示:

Kubernetes CRD

上述资源类型可以满足大多数分布式系统部署的需求

但是在不同应用业务环境下,对于平台可能有一些特殊的需求,这些需求可以抽象为 Kubernetes 的扩展资源,而 Kubernetes 的 CRD (CustomResourceDefinition)为这样的需求提供了轻量级的机制,保证新的资源的快速注册和使用。

举个栗子

我希望在 kubernetes 中有 KafkaSource 这个资源, 资源示例 kafka-source.yaml如下:

Kubernetes CRD

我们希望在执行 kubectl create -f kafka-source.yaml 之后,在 kubernetes 里会启动一个 pod,这个 pod 会做下面的事情:

  • 它会从地址是 my-cluster-kafka-bootstrap.kafka:9092,topic 是 knative- demo-topic 的 kafka 机群里读取消
  • 将读到的消息,发送到 kubernetes 的一个 Service 去执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值