gpt4 book ai didi

Spring Boot Kubernetes 服务发现

转载 作者:行者123 更新时间:2023-12-01 10:17:52 28 4
gpt4 key购买 nike

我在 Spring Boot 应用程序上遇到了 Kubernetes 服务发现问题。

无论我的 Spring Boot 应用程序是在 Kubernetes 集群内部还是外部运行,我都应该能够发现这些服务。我们的本地开发不会在 k8s 集群上。

我正在通过 DNS 使用服务发现。我尝试使用 spring-cloud-starter-kubernetes

    <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-kubernetes</artifactId>
<version>0.2.0.RELEASE</version>
</dependency>

根据文档,您应该能够 Autowiring DiscoveryClient 并且一切顺利
@Autowire
private DiscoveryClient discoveryClient;

DiscoveryClient 是 spring-cloud-commons 的一部分。 spring-cloud-starter-kuberenetes 没有。

有人使用相同的库或不同的库解决了类似的问题吗?请分享解决方案

谢谢!

最佳答案

我已经使用 Spring Cloud Kubernetes Dependencies 解决了这个问题
<spring.cloud.kubernetes>0.2.0.RELEASE</spring.cloud.kubernetes>

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-kubernetes-ribbon</artifactId>
<version>${spring.cloud.kubernetes}</version>
</dependency>

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-kubernetes-config</artifactId>
<version>${spring.cloud.kubernetes}</version>
</dependency>

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-kubernetes-core</artifactId>
<version>${spring.cloud.kubernetes}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-kubernetes-discovery</artifactId>
<version>${spring.cloud.kubernetes}</version>
</dependency>

对我来说非常重要的是功能区依赖项,因为它使用负载平衡的其余模板来替换服务名称以替换在您的 kubernetes 集群中找到的正确 pod IP。

我创建了一个 git repo 作为回答更多问题的一部分,但如果有人正在寻找一种方法来实现 Kubernetes 服务发现来代替 Eureka 或 Consul,这应该就足够了。

https://github.com/foundery-rmb/kubernetes-service-discovery

关于Spring Boot Kubernetes 服务发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47178056/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com