[英]How to scale a CRD Controller in Kubernetes
我正在閱讀很多關於CRD控制器的文檔
我用我的業務邏輯實現了一個,有時候我遇到了這種競爭條件:
bar
稱它為Foo
Deployment
,並將其保存在Foo
對象中的名稱(作為參考) error syncing 'default/bar': Operation cannot be fulfilled on Foo.k8s.io "bar":
the object has been modified; please apply your changes to the latest version
and try again, requeuing
問題是因為我的Deployment
有一個生成的名稱,也許save(Foo)失敗了,我有兩個Deployment
有兩個名字。
我暫時沒有找到解決問題的方法,但它提出了一個問題。
如果我有多個控制器在運行?
我已經啟動了兩個控制器,並且通過創建一個新對象獲得了相同的競爭條件。
那么,擴展CRD控制器並避免這種競爭條件的最佳設計是什么?
通常,您只運行一個控制器副本,或者在任何給定時間至少只有一個處於活動狀態。 只要你小心地編寫你的代碼,那么它在技術上並不重要,但實際上沒有多少理由可以運行多個代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.