kubernets的api-machinery

https://kubernetes.io/blog/2018/08/10/introducing-kubebuilder-an-sdk-for-building-kubernetes-apis-using-crds/

深入解析 Kubebuilder:让编写 CRD 变得更简单

KUBERNETES CRD如此简单
https://sealyun.com/blog/2019/07/20/crd/
go get github.com/kubernetes-sigs/kustomize

https://cert-manager.io
https://cert-manager.io/docs/installation/kubernetes/

扩展kubernetes两个最常用最需要掌握的东西:自定义资源CRD 和 adminsion webhook, 本文教你如何十分钟掌握CRD开发.
https://book.kubebuilder.io

api-machinery
通过自定义资源扩展Kubernetes
https://blog.gmem.cc/crd

深入解析 Kubebuilder:让编写 CRD 变得更简单

CustomResourceDefinition(CRD)
ThirdPartyResources(TPR)
kubernets-style API types

https://www.jianshu.com/p/2884f002f055
Kubernetes CRD - 从代码生成到使用
CustomResourceDefinition(CRD)是 v1.7 + 新增的无需改变代码就可以扩展 Kubernetes API 的机制,用来管理自定义对象。它实际上是 ThirdPartyResources(TPR) 的升级版本,而 TPR 已经在 v1.8 中删除。

一些使用场景:
提供/管理外部数据存储/数据库(例如 CloudSQL/RDS 实例)
对k8s基础资源进行更高层次的抽象(比如定义一个etcd集群)
其实crd在很多k8s周边开源项目中有使用,比如ingress-controller和众多的operator

了解 api-machinery 对于编写 crd controller 或者 aggregation apiserver很重要,由于api-machinery 以及 controller 逻辑的复杂性,有很多辅助工具可以帮助生成很多相关的代码,比如 kubebuilder, wrangler, 这里我们只关注 api-machinery 相关的代码,可以找到需要上面流程中提到的注册,转换代码. 比如这里

https://cloud.tencent.com/developer/article/1519826

你可能感兴趣的:(kubernets的api-machinery)