簡體   English   中英

如何使用狀態字段創建 Kubernetes 對象?

[英]How to create Kubernetes objects with Status fields?

我正在使用 kubernetes 運算符在集群中創建自定義資源,CR 填充了Status字段,但是當 object 創建時, Status字段為空。

這就是我創建 CR 的方式:

reconcile.Create(ctx, &object)

Kubernetes API 和資源的架構遵循一個模式。

  1. 客戶端可以通過指定所需的 state來創建資源(這是spec:資源的一部分)。 這是發送到 API 服務器的“創建”請求。

  2. 控制器訂閱/監視資源的變化,在協調循環中執行操作時,他們可能會更新資源的狀態(這是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM