在本地禁用 Spring Cloud Kubernetes

Disable Spring Cloud Kubernetes in local

关于如何在本地模式下禁用 Spring Cloud Kubernetes 的小问题。

该项目是一个简单的SpringBoot + Spring部署在Kubernetes中的云项目。 因此,在 class 路径中存在这种依赖关系:

        <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)

在本地,在完全删除依赖项的同时,一切都“恢复正常”。消息消失,启动时间恢复。

但是,根据本地环境对依赖项进行注释和取消注释可能不是最佳解决方案。

是否有 属性 以 完全禁用 Spring Cloud Kubernetes 我可以在本地配置?

谢谢

作为 documentation says,您可以添加:

spring.cloud.kubernetes.enabled=false

反过来,这可能是一个环境 属性,您可以 enable/disable 每个环境。

对我有用的是在 boostrap.properties/yaml 文件而不是 application.properties/yaml 文件中添加 spring.cloud.kubernetes.enabled=false 属性。