Reload namespace and label filtering
默认情况下,将使用 Namespace resolution 中概述的步骤选择的命名空间来监听 configmap 和 Secrets 中的更改。即:如果您不告诉 Reload 要监视哪些命名空间和 configmap/Secrets,它将监视使用上述算法计算出的命名空间中的所有 configmap/Secrets。
另一方面,您可以定义更细粒度的做法。例如,您可以指定将监视更改的命名空间:
spring:
application:
name: event-reload
cloud:
kubernetes:
reload:
enabled: true
strategy: shutdown
mode: event
namespaces:
- my-namespace
此类配置将使应用程序仅在 my-namespace
命名空间中监视更改。请注意,这将监视 所有 ConfigMap/secret(具体取决于您启用的哪个)。如果您想要更细粒度的做法,您可以启用“标签筛选”。首先,我们需要通过 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
标签的 ConfigMap/secret。
Name | Type | Default | Description |
---|---|---|---|
|
|
|
启用对属性源和配置重新加载的监控 |
|
|
|
允许监控配置映射中的更改 |
|
|
|
允许监控机密中的更改 |
|
|
|
触发重新加载时使用的策略( |
|
|
|
指定如何侦听属性来源( |
|
|
|
使用 |
|
|
监听更改的名称空间 |
|
|
|
为重新加载功能启用标记的筛选 |
备注:
-
您不得在 config map 或 secret 中使用
spring.cloud.kubernetes.reload
下的属性。在运行时更改此类属性可能会导致意外结果。 -
删除属性或整个 config map 不会在使用
refresh
级别时还原 bean 的原始状态。