深入解析 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開發(fā).
https://book.kubebuilder.io
api-machinery
通過自定義資源擴展Kubernetes
https://blog.gmem.cc/crd
深入解析 Kubebuilder:讓編寫 CRD 變得更簡單
CustomResourceDefinition(CRD)
ThirdPartyResources(TPR)
kubernets-style API types
http://www.reibang.com/p/2884f002f055
Kubernetes CRD - 從代碼生成到使用
CustomResourceDefinition(CRD)是 v1.7 + 新增的無需改變代碼就可以擴展 Kubernetes API 的機制缕题,用來管理自定義對象话肖。它實際上是 ThirdPartyResources(TPR) 的升級版本蚤霞,而 TPR 已經(jīng)在 v1.8 中刪除。
一些使用場景:
提供/管理外部數(shù)據(jù)存儲/數(shù)據(jù)庫(例如 CloudSQL/RDS 實例)
對k8s基礎(chǔ)資源進行更高層次的抽象(比如定義一個etcd集群)
其實crd在很多k8s周邊開源項目中有使用充甚,比如ingress-controller和眾多的operator
了解 api-machinery 對于編寫 crd controller 或者 aggregation apiserver很重要,由于api-machinery 以及 controller 邏輯的復(fù)雜性阅签,有很多輔助工具可以幫助生成很多相關(guān)的代碼鳄逾,比如 kubebuilder, wrangler, 這里我們只關(guān)注 api-machinery 相關(guān)的代碼,可以找到需要上面流程中提到的注冊,轉(zhuǎn)換代碼. 比如這里