CRD是一段申明,用于定义用户自定义的资源对象,它需要提供管理CRD对象的CRD控制器才能实现。主要用于扩展 Kubernetes 的 API,向 Kubernetes API 中增加新类型。
详细参考
https://kubernetes.io/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/
创建CRD
创建新的 CustomResourceDefinition(CRD)时,Kubernetes API Server 会为您指定的每个版本创建新的 RESTful 资源路径。CRD 可以是命名空间的,也可以是集群范围的,可以在 CRD scope 字段中所指定。与现有的内置对象一样,删除命名空间会删除该命名空间中的所有自定义对象。CustomResourceDefinition 本身是非命名空间的,可供所有命名空间使用。
字段说明
- group 设置api所属的组,将其映射为API URL中/apis/的下一级目录
- scpoe 该API的生效范围,可选项为Namespaced,和cluster,默认为Namespaced
- version,设置支持的版本,可设置多个版本
- name 版本的名称
- serverd 是否启用,true表示启用
- storage 是否存储,只有一个版本能被设置为true
- names crd的名称
创建
访问 RESTful API 端点如 http://172.20.0.113:8080 将看到如下 API 端点已创建:
创建自定义对象
创建 CustomResourceDefinition 对象后,您可以创建自定义对象。自定义对象可包含自定义字段。这些字段可以包含任意 JSON。在以下示例中, cronSpec 和 image 自定义字段在自定义对象中设置 CronTab。CronTab 类型来自您在上面创建的 CustomResourceDefinition 对象的规范
创建
检查对象
所有评论(0)