关于如何在本地模式下禁用Spring Cloud Kubernetes的小问题。
该项目是一个简单的SpringBoot + SpringCloud项目,部署在Kubernetes中。因此,在类路径中有这个依赖项:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-kubernetes-fabric8</artifactId>
</dependency>
当我们在Kubernetes环境中部署应用程序时,一切都很好。然而,同样的应用程序在本地模式下运行会产生这个警告,但最重要的是,启动时间增加了20秒。
o.s.c.k.f.Fabric8AutoConfiguration : No namespace has been detected. Please specify KUBERNETES_NAMESPACE env var, or use a later kubernetes version (1.3 or later)
在local中,当完全移除依赖时,一切都"恢复正常"。消息消失,启动时间下降。
然而,基于本地环境注释和取消注释依赖关系可能不是最好的解决方案。
是否有一个属性完全禁用Spring Cloud Kubernetes我可以在本地配置吗?
谢谢
正如文档所说,您可以通过添加:
spring.cloud.kubernetes.enabled=false
,反过来,可以是一个环境属性,您可以在每个环境中启用/禁用。
对我有用的是在boostrap.properties/yaml
文件中添加spring.cloud.kubernetes.enabled=false
属性,而不是在application.properties/yaml
文件中。
创建文件"bootstrap.properties"进入资源文件夹
然后添加以下行:
spring.cloud.kubernetes.enabled=false
spring.cloud.kubernetes.discovery.enabled=false
如果使用Spring Cloud Kubernetes 3.0。X,设置应用中的属性。属性/bootstrap.yaml:
spring.main.cloud-platform: NONE
我在没有上述设置的情况下在本地成功构建应用程序,但服务器失败。因为我升级到spring-cloud-kubernetes 3.0.x