问题标签 [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 投票
1 回答
870 浏览

spring-boot - Spring Cloud Kubernetes 不重新加载秘密更改

我正在探索 Spring Cloud Kubernetes 的功能,方法是使用它的特性来动态重新加载秘密。但是,我仍然没有得到这个工作。

我有一个简单的 Spring Boot 应用程序,它只打印出安装在 pod 中的秘密内容。这是bootstrap.properties中的配置

application.properties中,我定义了获取密钥值的属性:

在 Spring Boot 应用程序中,我定义了一个将存储秘密值的 bean:

当我在 minikube 上运行应用程序时,我在日志中看到 Spring 检测到声明的机密并激活配置文件:

16:54:30.887 [main] INFO oscbcPropertySourceBootstrapConfiguration - 定位属性源:[BootstrapPropertySource@1132379993 {name='bootstrapProperties-my-pwd', properties={MY-PWD=qwerty}}] 16:54:30.899 [main] INFO ccrReloadSecretsApplication - 以下配置文件处于活动状态:kubernetes

过了一会儿,我得到下面的日志,上面写着它被添加了一个对秘密的观察者:

16:54:35.460 [OkHttp https://10.96.0.1/...] 调试 ifkcdiWatchConnectionManager - WebSocket 成功打开 16:54:35.460 [main] INFO osckcrEventBasedConfigurationChangeDetector - 添加了新的 Kubernetes 手表:secrets-watch 16:54:35.460 [ main] INFO osckcrEventBasedConfigurationChangeDetector - 已激活 Kubernetes 基于事件的配置更改检测器

然后,当我更改密码时,我得到这条线说不会触发重新加载:

11:20:15.963 [OkHttp https://10.96.0.1/...] WARN osckcrEventBasedConfigurationChangeDetector - 当前的 Confimap PropertySource 数量与从 Kubernetes 加载的不匹配 - 不会发生重新加载

关于这个主题的文档非常稀缺。我这里有什么遗漏的配置吗?

链接到 Spring Boot 应用程序:https ://github.com/Azlop/spring-cloud-kubernetes-reload-secrets

0 投票
2 回答
466 浏览

spring - 检测 liveness / readiness actuator 端点执行并收集其结果以将其发送到端点

我有一个 Spring Boot 2.3.1 应用程序,其执行器部署在 Kubernetes 上,对应的 K8s 探针映射到执行器端点:

我想检测 K8s 何时调用每个探测器,获取执行结果和其他一些信息(pod 名称......)并将其发送到 http 端点。

我如何检测这些调用并访问其结果?是否有某种 Spring 钩子/侦听器可以让我这样做?

0 投票
1 回答
127 浏览

spring-cloud - Spring Cloud Kubernetes 与 Spring Cloud 负载均衡器

我们最近从 Spring Cloud Netflix Ribbon 迁移到 Spring Cloud LoadBalancer,并使用 spring-cloud-kubernetes 作为发现客户端。

spring.cloud.kubernetes.ribbon.mode的等效属性是什么(https://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/1.1.2.RELEASE/reference/html/#ribbon -discovery-in-kubernetes)现在?由于色带不再出现在图片中。

0 投票
1 回答
131 浏览

spring-cloud - 需要澄清将发现客户端与原生 Kubernetes 发现一起使用

我很困惑我的 spring-cloud-kubernetes 项目的正确设置是什么,以使用 kubernetes 本机发现并在 kuberbetes 服务前沿 mult 时使用 discoveryclient

我可以通过使用 discoveryClient 并仅按名称引用服务来使事情正常进行。到目前为止,一切都很好。但是,然后我需要选择一个服务实例(它看起来像一个实际的 pod ip+port),我显然不想这样做,因为我想依赖本机服务发现。使用 kubernetes 服务发现时我不应该使用 discoveryClient 吗?

我还可以使用 http://{service-name}.{namespace}.svc.{cluster}.local:{service-port} 使用 restTemplate 连接到其余服务。据我所知,restTemplate 还将使用 discoveryClient 并选择一个 serviceInstance(特别是在使用 @LoadBalanced 注释时)。但是,基于我上面描述的行为,这表明选择了一个服务实例而不是访问实际的 kubernetes 服务。

在处理原生 kubernetes 发现时,我觉得我不了解发现客户端的语义。我也不明白为什么我需要在我的 restTemplate 中使用 {service-name}.{namespace}.svc.{cluster}.local:{service-port} 而不仅仅是 {service-name) 来引用服务(鉴于在使用客户端负载平衡时似乎很多)?

感谢您的澄清。

0 投票
2 回答
1267 浏览

spring - 使用 spring.cloud.kubernetes.secrets.paths 属性将机密作为文件读取

是否有一个如何使用spring.cloud.kubernetes.secrets.paths=/mnt/secrets-store属性将机密作为文件读取的示例(作为卷安装)?

我的 Pod.yaml

当我运行 Pod 时,秘密已安装

我尝试了以下方法,但未填充字段:

我在用着

0 投票
1 回答
347 浏览

azure - Azure-app-config + spring-boot-kubernetes

我正在尝试将 azure 的spring-cloud-azure-appconfiguration-config-webspring-cloud-kubernetes-config 一起使用。这个想法是在 kubernetes configmapapplication-kubernetes.yamlbootstrap-kubernetes.yaml. 在里面bootstrap-kubernetes.yaml我想定义应该从 kubernetes 机密中填充的系统变量。

不幸的是,使用此设置无法运行 appconfig,因为它因错误而失败:

所以问题是,是否可以设置这样的配置,首先检索 configmap,然后通过 configmap 中使用的属性配置 appconfig?

0 投票
1 回答
137 浏览

spring-boot - 使用 Spring Cloud Kubernetes 初始化 Spring Boot Log

Spring Boot 2.2.6-RELEASE

在我的application.yml,我有这一行:

这很好用,春天很好地得到了它的配置

在我的my-logback-config.xml我有这一行:

同样,这很好用,它从外部配置文件中获取其值,该配置文件在 ENV 变量中定义

但是当我启用 Spring Cloud Kubernetes 时,这会失败,并出现 UnknowHostException :("LOG_HOST_IS_UNDEFINED" cannot be resolved.的值LOG_HOST用于设置网络附加程序)

为什么启用 Spring Cloud Kubernetes 会改变日志初始化的行为?

似乎尚未加载 SPRING_CONFIG_ADDITIONAL_LOCATION 中的值。

我无法从 configMap 加载此值,因为在初始化日志记录时尚未初始化 Spring Cloud Kubernetes。

0 投票
1 回答
60 浏览

spring-boot - Spring Boot 云原生应用程序是否需要 Spring Cloud Kubernetes?

我正在开发一个基于 Spring Boot 的云原生应用程序,以部署在 Kubernetes 集群上。由于 Spring 提供 Spring Cloud Kubernetes 用于与 Kubernetes 部署集成,我真的需要将它用于云原生应用程序吗?

这里的Spring doc没有太多说服力是否使用它?如果我使用它,它是否会给我开发 12 因素应用程序带来显着的好处?

我认为大多数云原生应用程序行为都是由 Kubernetes 本身强制执行的。

如果我在看到 Spring cloud Kubernetes 的价值时遗漏了什么,请告诉我。

0 投票
1 回答
395 浏览

java - Spring Cloud Kubernetes - 用户“system:serviceaccount:my-namespace:default”无法在集群范围内列出 API 组“”中的资源“服务”

关于插件 Spring Cloud Kubernetes 的问题。

在一个非常简单的 main 上(只有一个重要的类):

用一个非常简单的 POM:

我在应用程序启动时收到以下错误消息。

还有其他几个关于此的 SO 问题,但没有人谈论由 Spring Cloud Kubernetes 引起的问题。也许我应该找到一种方法来“尝试将请求范围限定为命名空间”而不是整个集群?

请问这个问题的根本原因是什么,请问如何解决?

谢谢

(整个堆栈)

0 投票
1 回答
2728 浏览

java - Spring Actuator - 服务发现 - /health "description":"Discovery Client not initialized","status":"UNKNOWN"

有关使用 Spring Boot Actuator 进行服务发现的问题,请结合 Spring Cloud Kubernetes。

目前,我有一个 web 应用程序,它同时具有执行器和 spring boot kubernetes 依赖项。我也在使用 kubernetes 提供的发现客户端,一切正常。

然而,当我卷曲我的健康端点时,我确实看到了这些奇怪的陈述:

请问为什么是“未知”?我本来希望这里至少有三个中的一个来解决问题,而且绝对不是“发现客户端未初始化”。

我忘了初始化一些东西吗?注册一些东西?配置什么?

顺便说一句,这确实是一个关于 Kubernetes 发现的问题。与 Eureka 无关,与 Consul 等无关。

非常感谢