在本地禁用 Spring Cloud Kubernetes

问题描述

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

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

        <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

反过来,这可能是一个环境属性,您可以根据环境启用/禁用。