此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring Cloud Kubernetes 5.0.1spring-doc.cadn.net.cn

重新加载命名空间和标签过滤

默认情况下,将使用上述 命名空间解析 所描述的步骤中选定的命名空间来监听配置映射(configmaps)和密钥(secrets)的变更。即:如果您未告知 reload 要监视哪些命名空间以及哪些配置映射/密钥,则它将监视通过上述算法计算出的命名空间中的所有配置映射和密钥。spring-doc.cadn.net.cn

另一方面,您可以定义一种更细粒度的方法。例如,您可以指定将被监控更改的命名空间:spring-doc.cadn.net.cn

spring:
  application:
    name: event-reload
  cloud:
    kubernetes:
      reload:
        enabled: true
        strategy: shutdown
        mode: event
        namespaces:
          - my-namespace

这种配置将使应用程序仅监视 my-namespace 命名空间中的更改。请注意,这将监视 所有 配置项(包括 ConfigMap 和 Secret,具体取决于您启用了哪一种)。如果您希望采用更细粒度的控制方式,可以启用“标签过滤”功能。首先,我们需要通过以下方式启用该支持: enable-reload-filtering: truespring-doc.cadn.net.cn

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。spring-doc.cadn.net.cn

<p>Table 1. 属性:</p>
姓名 类型 默认 描述

spring.cloud.kubernetes.reload.enabledspring-doc.cadn.net.cn

Booleanspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

启用对属性源和配置重新加载的监控spring-doc.cadn.net.cn

spring.cloud.kubernetes.reload.monitoring-config-mapsspring-doc.cadn.net.cn

Booleanspring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

允许监控配置映射中的更改spring-doc.cadn.net.cn

spring.cloud.kubernetes.reload.monitoring-secretsspring-doc.cadn.net.cn

Booleanspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

允许监控密钥的变化spring-doc.cadn.net.cn

spring.cloud.kubernetes.reload.strategyspring-doc.cadn.net.cn

Enumspring-doc.cadn.net.cn

refreshspring-doc.cadn.net.cn

触发重新加载时所使用的策略(refreshrestart_contextshutdownspring-doc.cadn.net.cn

spring.cloud.kubernetes.reload.modespring-doc.cadn.net.cn

Enumspring-doc.cadn.net.cn

eventspring-doc.cadn.net.cn

指定如何监听属性源(eventpolling)的更改spring-doc.cadn.net.cn

spring.cloud.kubernetes.reload.periodspring-doc.cadn.net.cn

Durationspring-doc.cadn.net.cn

15sspring-doc.cadn.net.cn

使用 polling 策略时,验证更改的周期spring-doc.cadn.net.cn

spring.cloud.kubernetes.reload.namespacesspring-doc.cadn.net.cn

String[]spring-doc.cadn.net.cn

我们应监控变更的命名空间spring-doc.cadn.net.cn

spring.cloud.kubernetes.reload.enable-reload-filteringspring-doc.cadn.net.cn

Stringspring-doc.cadn.net.cn

启用了带标签的过滤功能,以支持重新加载功能spring-doc.cadn.net.cn

  • 你不应使用配置映射或密钥中下标为 spring.cloud.kubernetes.reload 的属性。在运行时更改此类属性可能导致意外结果。spring-doc.cadn.net.cn

  • 删除一个属性或整个配置映射时,如果您使用 refresh 级别,无法恢复 Bean 的原始状态。spring-doc.cadn.net.cn