重载命名空间和标签过滤
默认情况下,将使用 命名空间解析 中概述的步骤选择的命名空间来监听 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 map 中的更改 |
|
|
|
允许监控 secrets 中的更改 |
|
|
|
触发重载时使用的策略( |
|
|
|
指定如何监听属性源中的更改( |
|
|
|
使用 |
|
|
应监控更改的命名空间 |
|
|
|
为重载功能启用标签过滤 |
注意
-
您不应在 config maps 或 secrets 中使用
spring.cloud.kubernetes.reload
下的属性。在运行时更改这些属性可能会导致意外结果。 -
当您使用
refresh
级别时,删除属性或整个 config map 不会恢复 bean 的原始状态。