常用應用屬性

可以在您的 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 主節點 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.rolling-timeout

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.enable-api

true

spring.cloud.kubernetes.config.enabled

true

啟用 ConfigMap property source locator。

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

用於從 Kubernetes API 伺服器檢索服務後過濾服務的 SpEL 表示式。

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

false

服務發現是否也應搜尋 spec 中包含 "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

包含 annotation 作為元資料

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

true

包含 label 作為元資料

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

false

將 pod annotations 新增到響應中。

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

false

將 pod labels 新增到響應中。

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

true

包含 port 作為元資料

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

annotation 的字首

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

label 的字首

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

port.

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

Leader 選舉是否應在啟動時自動開始。預設值:true

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

leaders

儲存 leader 資訊的 Kubernetes ConfigMap。預設值:leaders

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

true

啟用/停用在 ConfigMap 不存在時建立它。預設值:true

spring.cloud.kubernetes.leader.enabled

true

Leader 選舉是否應啟用。預設值:true

spring.cloud.kubernetes.leader.leader-id-prefix

leader.id.

ConfigMap 中 leader id 屬性的字首。預設值:leader.id.

spring.cloud.kubernetes.leader.namespace

leader ConfigMap 和候選者所在的 Kubernetes 名稱空間。

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

false

啟用/停用在獲取 leader 身份失敗時釋出事件。預設值:false

spring.cloud.kubernetes.leader.role

此候選者將競爭 leader 身份的角色。

spring.cloud.kubernetes.leader.update-period

60000ms

Leader 身份狀態檢查週期。預設值:60s

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

使用 Restart 或 Shutdown 策略時,Spring Cloud Kubernetes 會在重啟前等待一段隨機時間。這樣做是為了避免同一應用程式的所有例項同時重啟。此屬性配置從收到需要重啟的訊號到實際觸發重啟之間的最長等待時間。

spring.cloud.kubernetes.reload.mode

EVENT

設定 Kubernetes 配置熱載入的檢測模式。

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

true

啟用對 secrets 的監控以檢測更改。

spring.cloud.kubernetes.reload.monitoring-secrets

false

是否監控 secrets。

spring.cloud.kubernetes.reload.namespaces

將設定 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 property source locator。

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