问题标签 [spring-cloud-kubernetes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3640 浏览

java - Spring Cloud Kubernetes 应用程序在 Pod 中运行时未检测到

预期行为

根据 Spring Cloud Kubernetes 文档,Spring 应用程序检测它何时在 pod 中运行所需要的只是将 Spring Cloud Kubernetes 添加到具有spring-cloud-kubernetes-all依赖项的类路径中。

这会触发两个事件:

  1. 如果存在,application-kubernetes.yml则加载配置文件。
  2. Kubernetes 实现DiscoveryClient用于服务发现,利用 KubeDNS 而不是默认的 Eureka。

这种环境意识在这里描述: https ://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/1.1.0.RELEASE/reference/html/#kubernetes-profile-autoconfiguration

和这里:

https://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/1.1.0.RELEASE/reference/html/#discoveryclient-for-kubernetes

实际行为

使用以下 yaml 启动 Spring Cloud Kubernetes 应用程序并通过 NodePort 访问它的执行器端点后http://minikube-ip:port/actuator/env,我看到没有活动配置文件集,即使文件夹application-kubernetes.yml中存在一个:resources

在对http://minikube-ip:port/actuator/info端点进行进一步调查后,我发现 Spring 应用程序根本不知道它在一个 pod 中,如下所示:

我的代码

春云网关

SpringCloudGateway build.gradle

SpringCloudGateway application.yml

SpringCloudGateway application-kubernetes.yml

SpringCloudGateway 部署.yml

SpringCloudGateway pod 的日志

如您所见,它仍在尝试连接到 Eureka。

版本 Spring Cloud:Hoxton.SR5

吊臂

迷你库:1.15.1

K8s:1.19

爪哇:11

任何帮助将不胜感激!谢谢!

0 投票
2 回答
2490 浏览

java - 在本地禁用 Spring Cloud Kubernetes

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

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

当我们在 Kubernetes 环境中部署应用程序时,一切都很好。但是,在本地模式下运行的同一应用程序会产生此警告,但最重要的是,启动时间增加了 20 秒。

在本地,虽然完全消除了依赖,但事情“恢复正常”。消息消失,启动时间又变短。

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

请问有没有可以在本地配置的完全禁用 Spring Cloud Kubernetes的属性?

谢谢

0 投票
1 回答
91 浏览

google-cloud-platform - 从同一 GCP 项目中的不同 gke 集群中过滤 Google Cloud Traces 中的信息

我有一个 GCP 项目,其中有两个 GKE 集群,一个用于开发和预生产工作负载,另一个用于生产。

我正在使用 Google Cloud Trace 来关联不同 Spring Boot 微服务调用的信息。

问题是 Trace 列表视图同时显示了来自两个集群的所有调用,因此很难将生产调用与其他集群区分开来:

在此处输入图像描述

有没有办法过滤来自不同集群的调用?

如果没有,一种解决方案是将 GKE 生产集群隔离在其自己的 GCP 项目中。这是一个好习惯吗?

0 投票
0 回答
69 浏览

kubernetes - Spring Cloud Kubernetes 读取命名空间下的其他配置文件

0 投票
1 回答
262 浏览

spring-boot - 在 Pod 上运行时使用 SpringBoot Heapdumps & Threaddumps

是否有任何推荐的方法来为在 AKS 上的 Pod 中运行的 Spring Boot 应用程序使用 Heapdumps 和 Threaddumps?

之后如何将转储下载到我的桌​​面?

0 投票
0 回答
215 浏览

java - 如何连接我的 Spring Boot pod 以从 Kubernetes World 中的 Spring Cloud Config Server 获取配置

顾名思义,我想让我的 Spring Boot pod 从 Spring Cloud Config Server pod 获取配置属性,所有这些都在 Kubernetes 的帮助下,但我被困在两件事上,我不知道该怎么做,我认为这与使用 Kubernetes Networking 错误有关:

  • 我的第一个应用程序尝试从 Spring Cloud Config Server 获取属性:

    spring.application.name=服务器

    spring.cloud.config.uri= http://${CONFIG:localhost:3000}

我的 CONFIG 属性在我的部署清单中用作环境。多变的:

和我的 Spring Cloud Config Server 的 ConfigMap:

当我尝试以这种方式使用它时得到下一个输出,并且没有连接到获取属性:

我的另一个应用程序尝试不同的方法,连接到 Config 的 app.properties 是相同的,但使用的 ENV 不同:

输出:

我的 Spring Cloud Config 应用程序清单/服务:

我做错了什么?

0 投票
1 回答
265 浏览

spring-boot - Spring Cloud Kubernetes,网关路由映射

我正在学习 Spring Boot kubernetes 并尝试为我的服务设置 Spring Cloud Gateway。我相信有了 Spring Cloud Gateway,我们就不必再使用 Ribbon 进行负载平衡了。因此,如果我不使用功能区,那么路线的配置也会发生变化。我查看了网站的建议,以下是我发现的:-

在这种情况下,uri 具有服务可用的端口的硬编码值。这是推荐的方法吗?

然后还有另一种配置,看起来像这样,不确定 url-expression 试图做什么:-

是否不可能按名称进行服务发现并在其后附加谓词?

0 投票
0 回答
203 浏览

spring-boot - Spring Cloud Gateway 错误创建名为“serviceRegistryEndpoint”的 bean

我正在尝试构建 Spring Cloud 网关服务,并在运行时看到以下错误:-

我的 pom.xml 中有以下依赖项

任何建议都会有很大帮助。

0 投票
1 回答
65 浏览

spring-cloud-kubernetes - Spring Cloud Kubernetes:支持ConfigMap无法读取事件的失败策略

由于业务需求,我们要求在 Spring Boot 2.4 上运行的应用程序使用 Kubernetes 客户端。在测试 ConfigMap 加载器(通过引导文件指定)时,我们注意到,如果无法加载 ConfigMap,应用程序会忽略此问题并继续启动过程。对于我们的要求,如果我们的应用程序无法加载 ConfigMap,它至少必须无法启动。

乍一看,我们在文档中没有看到任何建议可能解决此问题的方法……然后,通过较旧的问题,我们看到已经要求提供与此类似的内容(即#411),但在上下文中重试策略。

我们想知道是否存在已经在开发的失败策略功能?

如果没有,是否有现有的解决方法?

0 投票
3 回答
1527 浏览

spring-boot - Spring Cloud Kubernetes:等待通知者缓存准备就绪的超时

我正在尝试在基于 Spring Boot 的微服务中利用 Spring Cloud Kubernetes,即自动配置和服务发现。

但是,我在初始化期间收到一条错误消息(Timeout waiting for informers cache to be ready, is the kubernetes service up?),以及高冗长,我无法在网上找到信息来帮助我查明原因. 错误消息和过多的日志消息在下面详细说明。为缺乏背景而道歉,但我也很困惑!

该应用程序在服务帐户中运行,该帐户具有文档default中指定的所有权限:

我正在使用 Spring Boot 2.4;Spring Cloud Kubernetes 2.0.2。我的pom.xml

但是,在应用程序成功启动一分钟后,我收到以下错误:

我还每秒记录以下消息(在错误之前和之后,无限期):