CRD: CustomResourceDefinition。自定义资源类型。

k8s有个特性将以前所使用的各种IT设施进行抽象,使用k8s自身的API向外进行提供。

目前,扩展Kubernetes API的常用方式有3种:

  1. 使用CRD(CustomResourceDefinitions)自定义资源类型
  2. 开发自定义的API Server并聚合至主API Server
  3. 定制扩展API Server源码

这其中,CRD最为易用但限制颇多,自定义API Server更富于弹性但代码工作量偏大,而仅在必须添加新的核心类型才能确保专用的Kubernetes集群功能正常,才应该定制系统源码。