Custom resource definition(CRD)

1. 简介

2. 实现

  • CRD registry

    相关的代码在staging/src/k8s.io/apiextensions-apiserver/pkg/registry下。

  • ETCD存储

    CRD存储在etcd上的路径与deployment、pod等核心资源的存储位置不一样,它的路径为:root / resource.Group + "/" + resource.Resource(见staging/src/k8s.io/apiextensions-apiserver/pkg/apisever/customresource_handler.go#574,注:在project里搜索“ResourcePrefix”可以搜到其他resource的存储路径)。

    注: tapp为/registry/gaia/tapps/default/example-tapp。为了平滑升级,兼容以前的版本,我们需要修改tapp的存储路径。

3. 自动化工具

4. 一些有趣的CRD/Operator

Awesome Operators in the Wild: https://github.com/operator-framework/awesome-operators

Operator hub: https://operatorhub.io

5. 参考资料

Last updated