在本地禁用Spring Cloud Kubernetes



关于如何在本地模式下禁用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

相关内容

  • 没有找到相关文章

最新更新