天天看點

帶你讀《雲原生應用開發 Operator原理與實踐》第三章 Kubebuilder 原理3.4小結

本章主要介紹了 Kubebuilder的架構,其可以分為 CRD、Controller子產品、KubebuilderScaffolds(腳手架)子產品、Controller-runtime子產品,同時介紹了這些子產品之間如何互相協助,最終完成CRD的部署和運作。

在了解了 Kubebuilder的架構後,本章重點講述了Kubebuilder的原理、CRD的建立過程,以及Client、Controller、Manager 等子產品的初始化過程或者啟動流程,通過對這些子產品的深入學習,讀者可以更快速地編寫自定義的 CRD,并了解 Controller的工作原理。

Kubebuilder是基于 Controller-runtime使用 CRD建構 KubernetesAPI的 SDK,在講述了 SDK的原理後,本章進一步解讀了 Controller-runtime的原理,分别介紹了Manager的架構、Controller的運作機制、Client和 Cache 的初始化原理等,了解了這些子產品的原理後,開發者可以更快地建構出 Controller,将第三方資源接入 Kubernetes中,進而體驗聲明式 API帶來的便捷。

在了解了 Kubebuilder的使用方法、基本原理後,第 4 章将以具體的執行個體,為讀者介紹如何開發 CRD和撰寫 Controller。