在 Go 中實作自訂控制器之前,我們首先了解什麼是 Kubernetes 控制器和客戶資源定義(CRD)
Kubernetes 控制器是控制平面的元件,它持續監視 kubernetes 叢集的狀態並採取行動以確保叢集的實際狀態與所需狀態相符。它會進行更改,試圖使當前狀態更接近所需狀態。
自訂資源定義(CRD)是一種擴展 Kubernetes API 以建立我們自己的自訂資源的方法。這些自訂資源可以代表我們想要在 Kubernetes 叢集中管理的任何類型的物件。
使用 kubectl 命令應用此文件,當我們在叢集中看到可用的 crd 時,我們可以看到我們創建的 crd -
使用 kubectl 指令套用此檔案
現在讓我們繼續創建自己的自訂控制器
現在當我們建立這個 Go 程式並運行它時 -
go build -o k8s-controller .
./k8s-控制器
現在,每當我們新增、更新或刪除上面建立的自訂資源時,我們都會在終端機中取得它的活動日誌。所以這意味著我們的控制器正在監視我們的 CRD。
以上是在 Go 中建立自訂 Kubernetes 控制器的詳細內容。更多資訊請關注PHP中文網其他相關文章!