K8S CRD详解

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

需求来源

首先我们先来看一下 API 编程范式的需求来源。

在 Kubernetes 里面, API 编程范式也就是 Custom Resources Definition(CRD)。我们常讲的 CRD,其实指的就是用户自定义资源。

为什么会有用户自定义资源问题呢?

随着 Kubernetes 使用的越来越多,用户自定义资源的需求也会越来越多。而 Kubernetes 提供的聚合各个子资源的功能,已经不能满足日益增长的广泛需求了。

用户希望提供一种用户自定义的资源,把各个子资源全部聚合起来。但 Kubernetes 原生资源的扩展和使用比较复杂,因此诞生了用户自定义资源这么一个功能。

k8s中默认的有几类资源,Deploment、StatefulSet、Service、CronJob等等。k8s为了让用户拥有完全的定制化需求,它允许用户制造一个自己想要的资源类型。这一概念就是CRD(Custom Resource Definition)。我们不需要修改原有的API源码就能实现,该功能大大地提高了k8s的可扩展能力。
    
    当一个新的自定义CRD创建时,k8s api服务器将为你指定的每一个版本创建一个新的Restful资源路径,我们可以根据该api路径来创建一些我们自定义的类型资源。CRD可以是集群级别的,也可以是namespace级别的。

以下是一个新的资源定义yaml

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  # name must match th
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: k8s