Kubernetes CRD 定义详解 —— 以 HelloWorld 为例

Kubernetes CRD 定义详解 —— 以 HelloWorld 为例

在 Kubernetes 中,内置的 API 资源(如 Pod、Service、Deployment 等)虽然功能强大,但在面对一些业务场景时可能无法满足需求。此时,我们可以利用 CRD(Custom Resource Definition,自定义资源定义)来自定义符合业务逻辑的资源。本文将以一个简单的 HelloWorld CRD 为例,从配置文件的每一行讲解其含义,并展示如何验证 CRD 是否生效。


一、CRD 的背景介绍

CRD 允许用户扩展 Kubernetes API,可以定义新的资源类型,并结合控制器(Operator)实现自动化运维。通过 CRD,我们可以:

  • 定义符合特定业务需求的资源对象;
  • 利用 OpenAPI Schema 对输入数据进行验证;
  • 与内置资源一样,通过 kubectl 等工具进行管理。

二、定义 HelloWorld CRD

下面是 HelloWorld CRD 的完整配置文件 helloworld-crd.yaml,每一行均有详细解释:

apiVersion: apiextensions.k8s.io/v1         # 使用 CRD 的 API 版本,当前推荐使用 v1
kind: CustomResourceDefinition            # 资源类型为自定义资源定义
metadata:
  name: helloworlds.example.com           # CRD 的名称,格式为<复数>.<组名>,必须全局唯一
spec:
  group: example.com                      # 定义自定义资源所属的 API 组
  versions:                               # 定义该 CRD 支持的版本列表
    - name: v1                          # 版本号:v1
      served: true                      # 表示该版本的 API 是可以被访问的
      storage
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_42587823

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值