[英]How to create Kubernetes objects with Status fields?
我正在使用 kubernetes 運算符在集群中創建自定義資源,CR 填充了Status
字段,但是當 object 創建時, Status
字段為空。
這就是我創建 CR 的方式:
reconcile.Create(ctx, &object)
Kubernetes API 和資源的架構遵循一個模式。
客戶端可以通過指定所需的 state來創建資源(這是spec:
資源的一部分)。 這是發送到 API 服務器的“創建”請求。
控制器訂閱/監視資源的變化,在協調循環中執行操作時,他們可能會更新資源的狀態(這是status:
資源的一部分)。
有關如何實現 controller 並更新狀態的示例,請參閱Kubebuilder 書籍:實現 Controller - 更新狀態。
示例中的客戶端是“控制器運行時客戶端”:
"sigs.k8s.io/controller-runtime/pkg/client"
示例代碼,其中協調器更新status
子資源:
if err := r.Status().Update(ctx, &cronJob); err != nil {
log.Error(err, "unable to update CronJob status")
return ctrl.Result{}, err
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.