此版本仍在开发中,尚未被视为稳定版本。如需最新的稳定版本,请使用 Spring Cloud Kubernetes 3.2.1

常见应用程序属性

可以在 Yourapplication.properties文件中,在application.yml文件或命令行开关。 本附录提供了常见 Spring Cloud Kubernetes 属性的列表以及对使用它们的底层类的引用。

属性贡献可能来自 Classpath 上的其他 jar 文件,因此您不应将其视为详尽的列表。 此外,您还可以定义自己的属性。
名称 默认值 描述

spring.cloud.kubernetes.client.api-version

spring.cloud.kubernetes.client.apiVersion

v1

Kubernetes API 版本

spring.cloud.kubernetes.client.ca-cert-data

spring.cloud.kubernetes.client.ca-cert-文件

spring.cloud.kubernetes.client.caCertData

Kubernetes API CACertData

spring.cloud.kubernetes.client.caCert文件

Kubernetes API CACert文件

spring.cloud.kubernetes.client.client-cert-data

spring.cloud.kubernetes.client.client-cert-file

spring.cloud.kubernetes.client.client-key-algo

spring.cloud.kubernetes.client.client-key-data

spring.cloud.kubernetes.client.client-key-文件

spring.cloud.kubernetes.client.client-key-passphrase

spring.cloud.kubernetes.client.clientCertData

Kubernetes API 客户端证书数据

spring.cloud.kubernetes.client.clientCert文件

Kubernetes API 客户端证书文件

spring.cloud.kubernetes.client.clientKeyAlgo

RSA

Kubernetes API 客户端KeyAlgo

spring.cloud.kubernetes.client.clientKeyData

Kubernetes API 客户端密钥数据

spring.cloud.kubernetes.client.clientKeyFile(英文)

Kubernetes API 客户端密钥文件

spring.cloud.kubernetes.client.clientKeyPass短语

changeit

Kubernetes API ClientKeyPassphrase

spring.cloud.kubernetes.client.connection-timeout

spring.cloud.kubernetes.client.connectionTimeout的

10s

连接超时

spring.cloud.kubernetes.client.http-proxy

spring.cloud.kubernetes.client.https-proxy

spring.cloud.kubernetes.client.logging-interval

spring.cloud.kubernetes.client.loggingInterval

20s

日志记录间隔

spring.cloud.kubernetes.client.master-url

spring.cloud.kubernetes.client.masterUrl

https://kubernetes.default.svc

Kubernetes API 主节点 URL

spring.cloud.kubernetes.client.namespace

true

Kubernetes 命名空间

spring.cloud.kubernetes.client.no-proxy

spring.cloud.kubernetes.client.oauth-token

spring.cloud.kubernetes.client.oauthToken

Kubernetes API Oauth Tokens

spring.cloud.kubernetes.client.password

Kubernetes API 密码

spring.cloud.kubernetes.client.proxy-password

spring.cloud.kubernetes.client.proxy-username

spring.cloud.kubernetes.client.请求超时

spring.cloud.kubernetes.client.requestTimeout

10s

请求超时

spring.cloud.kubernetes.client.rolling-timeout

spring.cloud.kubernetes.client.rolling超时

900s

滚动超时

spring.cloud.kubernetes.client.service-account-namespace-path

/var/run/secrets/kubernetes.io/serviceaccount/namespace

spring.cloud.kubernetes.client.trust-certs

spring.cloud.kubernetes.client.trustCerts

false

Kubernetes API 信任证书

spring.cloud.kubernetes.client.user-agent

Spring-Cloud-Kubernetes-Application

spring.cloud.kubernetes.client.username

Kubernetes API 用户名

spring.cloud.kubernetes.client.watch-reconnect-interval

spring.cloud.kubernetes.client.watch-reconnect-limit

spring.cloud.kubernetes.client.watchReconnectInterval

1s

重新连接间隔

spring.cloud.kubernetes.client.watchReconnectLimit

-1

Reconnect Interval limit 重试

spring.cloud.kubernetes.config.enable-api

true

spring.cloud.kubernetes.config.enabled

true

启用 ConfigMap 属性源定位器。

spring.cloud.kubernetes.config.fail-fast

false

spring.cloud.kubernetes.config.include-profile-specific-sources

true

spring.cloud.kubernetes.config.labels

spring.cloud.kubernetes.config.name

spring.cloud.kubernetes.config.namespace

spring.cloud.kubernetes.config.paths

spring.cloud.kubernetes.config.retry

spring.cloud.kubernetes.config.sources

spring.cloud.kubernetes.config.use-name-as-prefix

false

spring.cloud.kubernetes.discovery.all-namespaces

false

如果为所有命名空间启用了发现

spring.cloud.kubernetes.discovery.cache-loading-timeout-seconds

60

初始化发现缓存的超时,如果超过超时,将中止应用程序。

spring.cloud.kubernetes.discovery.discovery-server-url

spring.cloud.kubernetes.discovery.enabled

true

如果启用了 Kubernetes 发现

spring.cloud.kubernetes.discovery.filter

SPEL 表达式,用于在从 Kubernetes API 服务器检索服务后筛选服务。

spring.cloud.kubernetes.discovery.include-external-name-services

false

发现是否还应搜索规范中包含 “type: ExternalName” 的服务。

spring.cloud.kubernetes.discovery.include-not-ready-addresses

false

如果 Kubernetes 未将端点地址标记为“就绪”,则包含为已发现

spring.cloud.kubernetes.discovery.known-secure-ports

[443, 8443]

一组已知的安全端口

spring.cloud.kubernetes.discovery.metadata.add-annotations

true

将注释作为元数据Include Comments as metadata

spring.cloud.kubernetes.discovery.metadata.add-labels

true

将标签作为元数据Include include labels as metadata

spring.cloud.kubernetes.discovery.metadata.add-pod-annotations

false

将 Pod 注释添加为响应的一部分。

spring.cloud.kubernetes.discovery.metadata.add-pod-labels

false

添加 Pod 标签作为响应的一部分。

spring.cloud.kubernetes.discovery.metadata.add-ports

true

将端口作为元数据Include ports as metadata

spring.cloud.kubernetes.discovery.metadata.annotations-prefix

注释的前缀

spring.cloud.kubernetes.discovery.metadata.labels-prefix

前缀

spring.cloud.kubernetes.discovery.metadata.ports-prefix

port.

前缀,默认情况下为 “port”。

spring.cloud.kubernetes.discovery.namespaces

如果 set and allNamespaces 为 false,则只会从 Kubernetes API 服务器获取与这些命名空间匹配的服务和端点。

spring.cloud.kubernetes.discovery.order

0

spring.cloud.kubernetes.discovery.primary-port-name

如果设置,则当为服务定义多个端口时,具有给定名称的端口将用作主端口。

spring.cloud.kubernetes.discovery.service-labels

如果设置,则只会从 Kubernetes API 服务器获取与这些标签匹配的服务。

spring.cloud.kubernetes.discovery.use-endpoint-slices

false

使用 EndpointSlice 而不是 Endpoints

spring.cloud.kubernetes.discovery.wait-cache-ready

true

等待发现缓存(服务和终端节点)完全加载,否则在启动时中止应用程序

spring.cloud.kubernetes.leader.auto启动

true

是否应在启动时自动启动 leader election。默认值:true

spring.cloud.kubernetes.leader.config-map-name

leaders

Kubernetes ConfigMap,用于存储领导者信息的位置。默认值:leaders

spring.cloud.kubernetes.leader.create-config-map

true

如果 ConfigMap 不存在,则启用/禁用创建 ConfigMap。默认值:true

spring.cloud.kubernetes.leader.enabled

true

是否应该启用 leader election。默认值:true

spring.cloud.kubernetes.leader.leader-id-前缀

leader.id.

Config Map 的 Leader id 属性前缀。默认值:leader.id。

spring.cloud.kubernetes.leader.命名空间

领导者 ConfigMap 和 candidate 所在的 Kubernetes 命名空间。

spring.cloud.kubernetes.leader.publish-failed-events

false

启用/禁用发布事件,以防领导层获取失败。默认值:false

spring.cloud.kubernetes.leader.role

角色 此候选人将竞争哪个领导层。

spring.cloud.kubernetes.leader.update-period

60000ms

领导地位检查期。默认值:60 秒

spring.cloud.kubernetes.loadbalancer.cluster-domain

cluster.local

cluster domain 的

spring.cloud.kubernetes.loadbalancer.enabled

true

Load balancer enabled,默认 true。

spring.cloud.kubernetes.loadbalancer.mode

pod

{@link KubernetesLoadBalancerMode} 使用 Pod 的 IP 或服务名称设置负载均衡器服务器列表。默认值为 POD。

spring.cloud.kubernetes.loadbalancer.端口名称

http

服务端口名称。

spring.cloud.kubernetes.reload.enable-reload-filtering

false

仅为具有 'spring.cloud.kubernetes.config.informer.enabled=true' 标签的源创建 Informer。此属性仅与基于事件的重新加载相关。

spring.cloud.kubernetes.reload.enabled

false

启用 Kubernetes 配置更改时重新加载。

spring.cloud.kubernetes.reload.max 等待重启

2s

使用 Restart 或 Shutdown 策略,Spring Cloud Kubernetes 在重新启动之前会等待随机的时间。这样做是为了避免同一应用程序的所有实例同时重新启动。此属性配置从收到需要重启的信号到实际触发重启的那一刻的最长等待时间

spring.cloud.kubernetes.reload.mode

EVENT

设置 Kubernetes 配置重新加载的检测模式。

spring.cloud.kubernetes.reload.monitoring-config-maps

true

启用对密钥的监控以检测更改。

spring.cloud.kubernetes.reload.monitoring-secrets

false

是否监控 secret。

spring.cloud.kubernetes.reload.命名空间

将设置 Informer 的命名空间。此属性仅与基于事件的重新加载相关。

spring.cloud.kubernetes.reload.period

15000ms

设置检测模式为 POLLING 时要使用的轮询周期。

spring.cloud.kubernetes.reload.strategy

REFRESH

为 Kubernetes 配置设置更改时重新加载策略。

spring.cloud.kubernetes.secrets.enable-api

false

spring.cloud.kubernetes.secrets.enabled

true

启用 Secrets 属性源定位器。

spring.cloud.kubernetes.secrets.fail-fast

false

spring.cloud.kubernetes.secrets.include-profile-specific-sources

true

spring.cloud.kubernetes.secrets.labels

spring.cloud.kubernetes.secrets.name

spring.cloud.kubernetes.secrets.namespace

spring.cloud.kubernetes.secrets.paths

spring.cloud.kubernetes.secrets.retry

spring.cloud.kubernetes.secrets.sources

spring.cloud.kubernetes.secrets.use-name-as-prefix

false