运行Spring Boot 2.6.6和Spring Cloud 2021.0.1
我正在尝试将一个现有的服务迁移到Kubernetes,因此我添加了对 spring-cloud-starter-kubernetes-client-all
的依赖。默认情况下,我使用 kubernetes
配置文件,并且将 spring.cloud.kubernetes.enable=false
,这旨在允许此服务在Kubernetes和传统环境中运行。
当在本地构建时,我的单元测试完成成功,但在我的Bitbucket管道中失败,并显示以下错误:
java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.springframework.cloud.kubernetes.commons.config.NamespaceResolutionFailedException: unresolved namespace
我怀疑这是因为Bitbucket Pipelines部署在Kubernetes上,而Spring不知何故检测到了它。我已尝试以下方法但均无效:
- 在命令行中传递
--define SPRING_CLOUD_KUBERNETES_ENABLED=false
给Maven。 - 将此设置为环境变量,例如
export SPRING_CLOUD_KUBERNETES_ENABLED=false
。 - 在命令行中传递
--define spring.cloud.kubernetes.enabled=false
给Maven。
KubernetesClientConfigUtils
,应该禁用它。如果你能提供任何指导,我将不胜感激。