常用应用属性
你可以在 application.properties 文件、application.yml 文件或作为命令行开关来指定各种属性。本附录列出了常见的 Spring Cloud Kubernetes 属性,并引用了使用这些属性的底层类。
备注
属性贡献可以来自类路径上的额外 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-file | ||
| spring.cloud.kubernetes.client.caCertData | Kubernetes API CACertData | |
| spring.cloud.kubernetes.client.caCertFile | Kubernetes API CACertFile | |
| 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-file | ||
| spring.cloud.kubernetes.client.client-key-passphrase | ||
| spring.cloud.kubernetes.client.clientCertData | Kubernetes API ClientCertData | |
| spring.cloud.kubernetes.client.clientCertFile | Kubernetes API ClientCertFile | |
| spring.cloud.kubernetes.client.clientKeyAlgo | RSA | Kubernetes API ClientKeyAlgo |
| spring.cloud.kubernetes.client.clientKeyData | Kubernetes API ClientKeyData | |
| spring.cloud.kubernetes.client.clientKeyFile | Kubernetes API ClientKeyFile | |
| spring.cloud.kubernetes.client.clientKeyPassphrase | 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 Master Node 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 Token | |
| spring.cloud.kubernetes.client.password | Kubernetes API 密码 | |
| spring.cloud.kubernetes.client.proxy-password | ||
| spring.cloud.kubernetes.client.proxy-username | ||
| spring.cloud.kubernetes.client.request-timeout | ||
| spring.cloud.kubernetes.client.requestTimeout | 10s | 请求超时 |
| spring.cloud.kubernetes.client.rollingTimeout | 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 | 重连间隔限制重试次数 |
| 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.read-type | BATCH | |
| 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 | 从 Kubernetes API 服务器检索服务后,用于过滤服务的 SpEL 表达式。 | |
| spring.cloud.kubernetes.discovery.include-external-name-services | false | 发现是否也应该搜索在其规范中包含“type: ExternalName”的服务。 |
| spring.cloud.kubernetes.discovery.include-not-ready-addresses | false | 如果端点地址未被 Kubernetes 标记为 'ready',则视为已发现 |
| spring.cloud.kubernetes.discovery.known-secure-ports | [443, 8443] | 已知安全端口集合 |
| spring.cloud.kubernetes.discovery.metadata.add-annotations | true | 将注释作为元数据包含 |
| spring.cloud.kubernetes.discovery.metadata.add-labels | true | 将标签作为元数据包含 |
| 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 | 将端口作为元数据包含 |
| 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 | 如果设置了此选项且 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-startup | true | 是否应在启动时自动开始领导者选举。默认值:true |
| spring.cloud.kubernetes.leader.config-map-name | leaders | 存储领导者信息的 Kubernetes ConfigMap。默认值:leaders |
| spring.cloud.kubernetes.leader.create-config-map | true | 启用/禁用创建不存在的 ConfigMap。默认值:true |
| spring.cloud.kubernetes.leader.election.lease-duration | 15s | |
| spring.cloud.kubernetes.leader.election.lock-name | spring-k8s-leader-election-lock | |
| spring.cloud.kubernetes.leader.election.lock-namespace | default | |
| spring.cloud.kubernetes.leader.election.publish-events | true | |
| spring.cloud.kubernetes.leader.election.renew-deadline | 10s | |
| spring.cloud.kubernetes.leader.election.restart-on-failure | true | |
| spring.cloud.kubernetes.leader.election.retry-period | 2s | |
| spring.cloud.kubernetes.leader.election.use-config-map-as-lock | false | |
| spring.cloud.kubernetes.leader.election.wait-after-renewal-failure | 3s | |
| spring.cloud.kubernetes.leader.election.wait-for-pod-ready | true | |
| spring.cloud.kubernetes.leader.enabled | true | 是否启用领导者选举。默认值:true |
| spring.cloud.kubernetes.leader.leader-id-prefix | leader.id. | ConfigMap 中 Leader ID 属性的前缀。默认值:leader.id。 |
| spring.cloud.kubernetes.leader.namespace | Kubernetes 命名空间,用于存放领导者 ConfigMap 和候选者。 | |
| 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 | 集群域。 |
| spring.cloud.kubernetes.loadbalancer.enabled | true | 负载均衡器已启用,默认值为 true。 |
| spring.cloud.kubernetes.loadbalancer.mode | pod | {@link KubernetesLoadBalancerMode} 设置负载均衡服务器列表时使用 Pod 的 IP 地址或服务名称。默认值为 POD。 |
| spring.cloud.kubernetes.loadbalancer.port-name | 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-wait-for-restart | 2s | 当使用重启或关机策略时,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 | 是否监控密钥。 |
| spring.cloud.kubernetes.reload.namespaces | 设置 informer 的命名空间。此属性仅与基于事件的重载相关。 | |
| spring.cloud.kubernetes.reload.period | 15000ms | 当检测模式为 POLLING 时,设置要使用的轮询周期。 |
| spring.cloud.kubernetes.reload.strategy | REFRESH | 设置Kubernetes配置变更时的重载策略。 |
| 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.read-type | BATCH | |
| spring.cloud.kubernetes.secrets.retry | ||
| spring.cloud.kubernetes.secrets.sources | ||
| spring.cloud.kubernetes.secrets.use-name-as-prefix | false |