Spring Cloud提供了专门的spring-cloud-kubernetes项目与k8s集成,尽管k8s提供了服务注册和发现等功能与Spring cloud是竞争的,甚至k8s加装服务网格Istio以后超过Spring cloud,但是在Spring cloud提供与代码编程无缝结合的强大灵活方式也许更具有竞争力。这个集成项目主要有以下功能:
1. K8s的发现客户端
为Kubernetes提供Discovery Client的实现。这让你按名称查询Kubernetes端点。Spring Boot运作K8s的pod中,其提供的微服务通常是由Kubernetes API暴露的端点列表,使用此发现功能能获取到K8s负载平衡后的端点列表
Spring boot提供application.properties|yaml配置,k8s根据这个配置运行环境,通过“KubernetesClient自动配置”功能能修改Spring boot的这些yaml配置
2. PropertySource
k8s是提供ConfigMap来加入外部的参数,使用本项目,使Kubernetes ConfigMap在Spring boot应用程序启动时就可用,当观察到Spring上下文任何变化,都会引起ConfigMap刷新重装。
另外该项目还提供了在k8s中调用Ribbon负载平衡功能来获得服务实例的方式。
欢迎工作一到五年的Java工程师朋友们加入Java架构开发:855801563
本群提供免费的学习指导 架构资料 以及免费的解答
不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导
同时大家可以多多关注一下小编 纯干货 大家一起学习进步