除了常见内置资源之外,Kubernetes 允许用户自定义资源 Custom Resource,而 CRD 表示自定义资源的定义。 当你创建新的 CustomResourceDefinition(CRD)时,Kubernetes API 服务器会为你所指定的每个版本生成一个新的 RESTful 资源路径。 基于CRD 对象所创建的自定义资源可以是名字空间作用域的,也可以是集群作用域的, 取决...
除了常见内置资源之外,Kubernetes 允许用户自定义资源 Custom Resource,而 CRD 表示自定义资源的定义。 当你创建新的 CustomResourceDefinition(CRD)时,Kubernetes API 服务器会为你所指定的每个版本生成一个新的 RESTful 资源路径。 基于CRD 对象所创建的自定义资源可以是名字空间作用域的,也可以是集群作用域的, 取决...
在使用 Network 资源之前,我们需要让 kubernetes 知道我们的自定义资源到底是什么,比如我们要让它识别一类工具,就需要告诉它这个工具的外貌、作用等信息,这就是 CustomResourceDefinition。 如下是 Network 的 CRD: # network.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: ...
我理解意思是说: CRD(Custom Resource Definition [ˌdεfəˈnɪʃən])是 Kubernetes 中的一种机制,用于扩展 Kubernetes API 并定义自定义资源。 CRD 的 Schema 定义遵循 Kubernetes API 对象的规范,通常使用 JSON Schema 来描述 CRD 的结构、字段和验证规则。以下是一个 CRD 的 Schema 定义的示例...
目前我们的kubernetes集群版本为1.15.0,故参考文档为官方文档《Extend the Kubernetes API with CustomResourceDefinitions》 创建一个CustomResourceDefinition 官方例子 代码语言:javascript 复制 # resourcedefinition.yamlapiVersion:apiextensions.k8s.io/v1beta1kind:CustomResourceDefinitionmetadata:# name must match the...
kind: CustomResourceDefinition metadata: # 称必须与下面的spec字段匹配,格式为: <plural>.<group> name: crontabs.crd.test.com spec: # 用于REST API的组名称: /apis/<group>/<version> group: crd.test.com versions: - name: v1 # 每个版本都可以通过服务标志启用/禁用。
我们可以通过一个YAML文件来定义CRD。让我们以一个名为"kubernetes-crd-definition-v1.yml"的文件为例: apiVersion:apiextensions.k8s.io/v1kind:CustomResourceDefinitionmetadata:name:mycustomresources.example.comspec:group:example.comversion:v1scope:Namespacednames:plural:mycustomresourcessingular:mycustomresourc...
本文将介绍如何通过创建CustomResourceDefinition将自定义资源安装到Kubernetes API中。 在开始之前 验证你的版本, 输入kubectl version. 如果你的Kubernetes集群是1.16.0或更高的主版本才能使用apiextensions.k8s.io/v1,否则如果是1.7.0或更高的只能使用apiextensions.k8s.io/v1beta1。
# crd-test.ymlapiVersion:apiextensions.k8s.io/v1beta1kind:CustomResourceDefinitionmetadata:# 名称必须符合如下格式:<plural>.<group>name:crontabs.staight.k8s.iospec:# 组名,表示使用该API: /apis/<group>/<version>group:staight.k8s.io# version列表,表示该CRD支持的版本versions:-name:v1# 开启/关闭...
记住,resource就是特定类型的kubernetes object。从规范上来说,objects就具有相应的属性。所以,我们的CustomResourceDefinition应该更多关注于我们特定resource的属性描述上面。另外,要了解到,custom resources是具有namespace和cluster隶属约束的。CRD的scope字段就是这种特征的体现。