名稱空間解析
查詢應用程式名稱空間是盡力而為的。我們按順序迭代一些步驟來查詢它。最簡單和最常見的方法是在適當的配置中指定它,例如
spring:
application:
name: app
cloud:
kubernetes:
secrets:
name: secret
namespace: default
sources:
# Spring Cloud Kubernetes looks up a Secret named 'a' in namespace 'default'
- name: a
# Spring Cloud Kubernetes looks up a Secret named 'secret' in namespace 'b'
- namespace: b
# Spring Cloud Kubernetes looks up a Secret named 'd' in namespace 'c'
- namespace: c
name: d
請記住,配置對映也可以執行相同的操作。如果未指定此類名稱空間,它將(按此順序)從以下位置讀取
-
來自屬性
spring.cloud.kubernetes.client.namespace -
來自屬性
spring.cloud.kubernetes.client.serviceAccountNamespacePath指定檔案中的字串 -
來自檔案
/var/run/secrets/kubernetes.io/serviceaccount/namespace中的字串(Kubernetes 預設名稱空間路徑) -
來自指定的客戶端方法呼叫(例如 fabric8 的:
KubernetesClient::getNamespace),如果客戶端提供此類方法。這反過來可以透過環境屬性進行配置。例如,fabric8 客戶端可以透過“KUBERNETES_NAMESPACE”屬性進行配置;請查閱客戶端文件以獲取確切詳細資訊。
未能從上述步驟中找到名稱空間將導致引發異常。