目錄
問題內容
解決方法
首頁 後端開發 Golang 更新 golang 中自訂 Kubernetes 控制器的狀態

更新 golang 中自訂 Kubernetes 控制器的狀態

Feb 11, 2024 am 08:57 AM
overflow

更新 golang 中自定义 Kubernetes 控制器的状态

php小編柚子為您帶來最新的技術分享:本文將深入探討如何在golang中自訂Kubernetes控制器的狀態更新。 Kubernetes作為一個開源容器編排引擎,已成為雲端原生應用程式開發的熱門選擇。控制器是Kubernetes中的核心元件之一,用於管理應用程式的狀態。了解如何自訂控制器的狀態更新將幫助開發人員更好地掌握Kubernetes的靈活性和擴充性。在本文中,我們將介紹相關概念,並提供詳細的程式碼範例,幫助讀者快速上手。敬請期待!

問題內容

我正在建立一個 go kubernetes 運算子。我使用 kubebuilder 來創建它。 我想在 crd 狀態中儲存一些內部詳細資訊。我已經嘗試過:

  • 更新整個資源:
if err = r.client.update(ctx, upcrd); err != nil {
    return ctrl.result{}, client.ignorenotfound(err)
}
登入後複製
  • 並且僅更新狀態:
if err = r.status().update(ctx, upcrd); err != nil {
    return reconcile.result{}, client.ignorenotfound(err)
}
登入後複製

狀態結構定義如下:

type HAAuditStatus struct {
    ChaosStrategyCron  cron.EntryID       `json:"chaosStrategyCron,omitempty"`
    TestStatus         TestStatus         `json:"testStatus,omitempty"`
    MetricStatus       MetricStatus       `json:"metricStatus,omitempty"`
    RoundRobinStrategy RoundRobinStrategy `json:"roundRobinStrategy,omitempty"`
    FixedStrategy      FixedStrategy      `json:"fixedStrategy,omitempty"`
    NextChaosDateTime  int64              `json:"nextChaosDateTime,omitempty"`
    Created            bool               `json:"created,default=false"`
}
登入後複製

不會引發任何錯誤,而修改後的​​規格欄位實際上會保留,但狀態欄位不會保留,其值在下一個協調步驟中仍保留預設值。 我查看了 github 或 stackoverflow 上的其他問題,但提出的任何建議都解決了我的問題,但我無法弄清楚問題是什麼。為了獲得更大的了解,您可以參考算子所在的倉庫。

非常歡迎任何建議:)

解決方法

我可能已經找到狀態未更新的原因了。

在更新狀態之前,我還更新了規範欄位(以便向使用者提供有關建立的資源的一些回饋)。

該問題是由於規格更新觸發了新的協調,並且此更新後的指令(其中包括狀態更新)未執行。

我意識到使用規範向使用者提供回饋是不合適的,而事件更適合此目的。

以上是更新 golang 中自訂 Kubernetes 控制器的狀態的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

H5頁面製作是前端開發嗎 H5頁面製作是前端開發嗎 Apr 05, 2025 pm 11:42 PM

是的,H5頁面製作是前端開發的重要實現方式,涉及HTML、CSS和JavaScript等核心技術。開發者通過巧妙結合這些技術,例如使用<canvas>標籤繪製圖形或使用JavaScript控制交互行為,構建出動態且功能強大的H5頁面。

為什麼inline-block元素會出現錯位現象?如何解決這個問題? 為什麼inline-block元素會出現錯位現象?如何解決這個問題? Apr 04, 2025 pm 10:39 PM

關於inline-block元素錯位顯示的原因及解決方案在編寫網頁佈局時,我們常常會遇到一些看似奇怪的顯示問題。比...

如何通過CSS自定義resize符號並使其與背景色統一? 如何通過CSS自定義resize符號並使其與背景色統一? Apr 05, 2025 pm 02:30 PM

CSS自定義resize符號的方法與背景色統一在日常開發中,我們經常會遇到需要自定義用戶界面細節的情況,比如調...

如何使用CSS的clip-path屬性實現分段器的45度曲線效果? 如何使用CSS的clip-path屬性實現分段器的45度曲線效果? Apr 04, 2025 pm 11:45 PM

如何實現分段器的45度曲線效果?在實現分段器的過程中,如何讓點擊左側按鈕時右側邊框變成45度曲線,而點�...

2018-2024年比特幣最新價格美元大全 2018-2024年比特幣最新價格美元大全 Feb 15, 2025 pm 07:12 PM

實時比特幣美元價格 影響比特幣價格的因素 預測比特幣未來價格的指標 以下是 2018-2024 年比特幣價格的一些關鍵信息:

如何實現帶有45度曲線邊框的分段器效果? 如何實現帶有45度曲線邊框的分段器效果? Apr 04, 2025 pm 11:48 PM

實現分段器效果的技巧在用戶界面設計中,分段器是一種常見的導航元素,尤其是在移動應用和響應式網頁中。 ...

如何通過JavaScript或CSS控制瀏覽器打印設置中的頁首和頁尾? 如何通過JavaScript或CSS控制瀏覽器打印設置中的頁首和頁尾? Apr 05, 2025 pm 10:39 PM

如何使用JavaScript或CSS控制瀏覽器打印設置中的頁首和頁尾在瀏覽器的打印設置中,有一個選項可以控制是否顯�...

在移動端如何兼容多行溢出省略? 在移動端如何兼容多行溢出省略? Apr 05, 2025 pm 10:36 PM

移動端多行溢出省略在不同設備上的兼容問題在使用Vue2.0開發移動端應用時,常常會遇到需要對文本進行多行溢...

See all articles