重新載入命名空間與標籤篩選
預設情況下,將使用命名空間解析中概述的步驟選擇的命名空間,來監聽 configmaps 和 secrets 中的變更。也就是說:如果您未告知重新載入要監看哪些命名空間和 configmaps/secrets,它將監看使用上述演算法計算出的命名空間中的所有 configmaps/secrets。
另一方面,您可以定義更精細的方法。例如,您可以指定將監控變更的命名空間
spring:
application:
name: event-reload
cloud:
kubernetes:
reload:
enabled: true
strategy: shutdown
mode: event
namespaces:
- my-namespace
這樣的組態將使應用程式僅監看 my-namespace
命名空間中的變更。請注意,這將監看所有 configmaps/secrets(取決於您啟用了哪一個)。如果您想要更精細的方法,可以啟用「標籤篩選」。首先,我們需要透過以下方式啟用此支援:enable-reload-filtering: true
spring:
application:
name: event-reload
cloud:
kubernetes:
reload:
enabled: true
strategy: shutdown
mode: event
namespaces:
- my-namespaces
monitoring-config-maps: true
enable-reload-filtering: true
這樣做的效果是,僅監看具有 spring.cloud.kubernetes.config.informer.enabled: true
標籤的 configmaps/secrets。
名稱 | 類型 | 預設值 | 描述 |
---|---|---|---|
|
|
|
啟用屬性來源和組態重新載入的監控 |
|
|
|
允許監控 config maps 中的變更 |
|
|
|
允許監控 secrets 中的變更 |
|
|
|
觸發重新載入時使用的策略 ( |
|
|
|
指定如何監聽屬性來源中的變更 ( |
|
|
|
使用 |
|
|
我們應該在其中監看變更的命名空間 |
|
|
|
為重新載入功能啟用標籤篩選 |
注意事項
-
您不應在 config maps 或 secrets 中使用
spring.cloud.kubernetes.reload
下的屬性。在執行階段變更此類屬性可能會導致意外結果。 -
當您使用
refresh
層級時,刪除屬性或整個 config map 不會還原 Bean 的原始狀態。