此版本仍在开发中,尚未被视为稳定版本。如需最新的稳定版本,请使用 Spring Cloud Kubernetes 3.1.4! |
命名空间解析
查找应用程序命名空间是尽最大努力进行的。我们按顺序迭代一些步骤 找到它。最简单和最常见的一种是在适当的配置中指定它,例如:
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
请记住,也可以对 config maps 执行相同的操作。如果未指定这样的命名空间,则将读取它(按此顺序):
-
from property (从属性)
spring.cloud.kubernetes.client.namespace
-
从驻留在由 property 表示的文件中的 String
spring.cloud.kubernetes.client.serviceAccountNamespacePath
-
从驻留在文件中的 String (Kubernetes 默认命名空间路径)
/var/run/secrets/kubernetes.io/serviceaccount/namespace
-
从指定的客户端方法调用(例如 fabric8 的 : ),如果客户端提供 这样的方法。反过来,这可以通过环境属性进行配置。例如,fabric8 客户端可以通过 “KUBERNETES_NAMESPACE” 属性;有关确切的详细信息,请参阅客户端文档。
KubernetesClient::getNamespace
如果无法从上述步骤中找到命名空间,将导致引发 Exception。