第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

調(diào)用 kubernetes 運算符在外部資源更改時協(xié)調(diào)循環(huán)

調(diào)用 kubernetes 運算符在外部資源更改時協(xié)調(diào)循環(huán)

Go
牧羊人nacy 2022-09-26 14:59:17
我正在開發(fā)一個 k8s 自定義資源,作為業(yè)務(wù)邏輯的一部分,當群集中的外部作業(yè)更改其自己的狀態(tài)時,需要協(xié)調(diào)其狀態(tài)。這些作業(yè)不是由自定義資源本身創(chuàng)建的,而是為第三方服務(wù)在外部創(chuàng)建的,但是我需要協(xié)調(diào) CRO 的狀態(tài),例如,當任何這些外部作業(yè)完成時。在閱讀了大量文檔之后,我想出了為控制器設(shè)置一個觀察程序,以監(jiān)視像以下示例一樣的作業(yè)。func (r *DatasetReconciler) SetupWithManager(mgr ctrl.Manager) error {    return ctrl.NewControllerManagedBy(mgr).        For(&datasetv1beta1.Dataset{}).        Watches(&source.Kind{Type: &batchv1.Job{}}, &handler.EnqueueRequestForObject{} /* filter by predicates, see https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.9.6/pkg/controller#Controller */).        Complete(r)}不,我正在為Jobs和我的CR觸發(fā)我的協(xié)調(diào)循環(huán),并具有相應(yīng)的名稱和命名空間,但我對對象類型一無所知。func (r *DatasetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {    l := log.FromContext(ctx)    l.Info("Enter Reconcile loop")    l.Info("Request", "Req", req)    //if this is triggered by my CR    dataset := &datasetv1beta1.Dataset{}    r.Get(ctx, types.NamespacedName{Name: req.Name, Namespace: req.Namespace}, dataset)    //whereas when triggered by a Job    job := &batchv1.Job{}    r.Get(ctx, types.NamespacedName{Name: req.Name, Namespace: req.Namespace}, job)    return ctrl.Result{}, nil}如何在協(xié)調(diào)對象類型中進行檢查?所以我可以檢索調(diào)用r.Get的完整對象數(shù)據(jù)
查看完整描述

1 回答

?
人到中年有點甜

TA貢獻1895條經(jīng)驗 獲得超7個贊

根據(jù)設(shè)計,觸發(fā)對帳的事件不會傳遞到協(xié)調(diào)器,因此您被迫定義狀態(tài)并對其執(zhí)行操作。此方法稱為基于級別,而不是基于邊緣。

在您的示例中,您有兩個要嘗試跟蹤的資源。我會建議:

  1. 使用所有者引用或標簽(如果這些資源相關(guān))。通過這種方式,您可以獲取給定作業(yè)的所有相關(guān)數(shù)據(jù)集(反之亦然),并以這種方式進行協(xié)調(diào)。

  2. 如果這兩個資源不相關(guān),請為每個資源創(chuàng)建一個單獨的控制器。

如果要防止對某些事件進行對帳,則可以使用謂詞。例如,從謂詞函數(shù)中的事件中,可以通過以下方式獲取對象類型。e.Object.(*core.Pod)


查看完整回答
反對 回復 2022-09-26
  • 1 回答
  • 0 關(guān)注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號