Spring Cloud Kubernetes: Discovery & Config for Spring Boot
Spring Cloud Kubernetes is a library that implements core Spring Cloud interfaces — Discovery Client and Configuration, per the repo's description — against Kubernetes instead of Eureka or a Config Server. Its own README is candid that it is not required: a plain Spring Boot app plus Kubernetes already gets you far. Reach for it if your Spring Cloud code already leans on those interfaces; skip it if you are starting fresh on Kubernetes.
What is Spring Cloud Kubernetes?
Spring Cloud Kubernetes provides Java implementations of well-known Spring Cloud interfaces — the repo's own description names Discovery Client and Configuration — backed by Kubernetes instead of a standalone service registry or config server. It lets a Spring Boot application already built around Spring Cloud's abstractions keep using them once that application is deployed on a Kubernetes cluster.
Core Integrations and Capabilities
- ✓Discovery Client implementation — the repo's own description says Spring Cloud Kubernetes integrates 'Spring Cloud Discovery Client' with Kubernetes, so service lookups can use the same DiscoveryClient abstraction a Spring Cloud app already relies on elsewhere.
- ✓Configuration interface implementation — the same description names 'Configuration' as a second integration point, letting a Spring Boot app source config through Spring Cloud's configuration abstraction rather than a separate mechanism.
- ✓A dedicated configuration-properties reference — every Kubernetes-related property the project recognizes is documented on its own Appendix page, kept separate from the main reference guide.
- ✓Built to run alongside Spring Boot's own Kubernetes deployment path — the README points readers to Spring Boot's official reference docs for deploying to Kubernetes and to a community workshop ('Spring and Kubernetes') rather than positioning itself as a replacement for either.
- ✓Tagged and maintained as part of the Spring Cloud project family for cloud-native, microservices-oriented Java development, per the repo's own topics (cloud-native, java, kubernetes, microservices, spring, spring-boot, spring-cloud).
Strengths
- ✓Backed by the Spring Cloud project itself — Apache-2.0 licensed and maintained under the spring-cloud GitHub org, not a third-party wrapper.
- ✓Solves a real, narrow problem — implementing specific Spring Cloud interfaces (Discovery Client, Configuration) against Kubernetes rather than trying to be a general Kubernetes tool.
- ✓Explicitly optional — the README is upfront that you don't have to adopt it to run Spring Boot on Kubernetes, a more honest positioning than most integration libraries offer.
- ✓Configuration properties get their own dedicated Appendix reference page rather than being scattered through prose.
Current Limitations and Future Support
- △The README explicitly indicates a current absence of native/AOT support, stating that Spring Cloud Kubernetes does not provide support for Spring Boot AOT transformations or native images. At this time, only partial support is a possibility for upcoming releases.
- △It's optional by design, which cuts both ways — the README itself says a plain Spring Boot app plus Kubernetes already covers a lot of the same ground, so teams have to decide whether the abstraction is worth adding rather than assuming it's a required layer.
- △Build and contribution instructions aren't inline in this repo's README — both link out to the shared docs.spring.io/spring-cloud-build reference pages, so you're following generic Spring Cloud Build conventions rather than project-specific steps.
- △The property surface isn't visible without leaving this README — the full list of Kubernetes-related configuration properties sits on a separate reference page rather than being shown inline, so you can't skim what's configurable from the main guide alone.
Alternatives for Deploying Spring Boot on Kubernetes
Building Spring Cloud Kubernetes
The README doesn't inline build commands for this repo; instead it points to Spring Cloud Build's shared reference documentation (docs.spring.io/spring-cloud-build/reference/building.html) for the actual build steps, and to the matching contributing guide (docs.spring.io/spring-cloud-build/reference/contributing.html) if you want to submit changes. What's confirmed directly: it's a Java project under the spring-cloud GitHub org, licensed Apache-2.0, meant to be pulled in as a dependency rather than run standalone. Specific dependency coordinates (Maven/Gradle) aren't clearly documented in the facts available here.
Frequently Asked Questions
Spring Cloud Kubernetes is used to run Spring Cloud applications on Kubernetes by implementing well-known Spring Cloud interfaces — including Discovery Client and Configuration, per the repo's own description — against Kubernetes instead of a separate backend like Eureka or a Config Server.
Spring Cloud Kubernetes is not required — its own README says a basic Spring Boot app plus Kubernetes itself can already accomplish a lot without this library.
The README states that Spring Cloud Kubernetes currently lacks support for both native images and Spring Boot AOT transformations, although future releases may incorporate some partial functionality.
Spring Cloud Kubernetes is released under the Apache-2.0 license.
Spring Cloud Kubernetes follows the shared Spring Cloud Build contributing guide, linked from its README at docs.spring.io/spring-cloud-build/reference/contributing.html, rather than a project-specific process.
Spring Cloud Kubernetes documents its full list of Kubernetes-related configuration properties on the project's Appendix page, linked directly from the README rather than listed inline.
The problem it solves
Spring Cloud applications are typically written against Spring Cloud's own interfaces for things like service discovery and externalized configuration, expecting a backend such as Eureka or a Config Server behind them. Move that same app onto Kubernetes and those interfaces have nothing to talk to unless something implements them against Kubernetes' own APIs — that's the gap the README says this project fills, while also being explicit that it's optional: you can skip the abstraction entirely and code directly against Kubernetes and a plain Spring Boot app instead.
Best use cases
- •Porting an existing Spring Cloud app — one already coded against DiscoveryClient or a Configuration abstraction — onto Kubernetes without rewriting those integration points.
- •Standardizing on Spring Cloud's interfaces across multiple deployment targets, so the same code path works whether the backend is Eureka, a Config Server, or Kubernetes itself.
- •Following the README's own linked workshop ('Spring and Kubernetes') or Spring Boot's Kubernetes deployment reference docs to learn the broader pattern this library slots into.
- •Looking up the full set of Kubernetes-related configuration properties on the project's separate reference page when tuning how the integration behaves.
How to use
Spring Cloud Kubernetes is meant to be added as a dependency to a Spring Boot application so its Discovery Client and Configuration implementations activate against the cluster it's deployed in, but this repo's README doesn't walk through dependency coordinates or a code sample — it defers to Spring Boot's own reference documentation for deploying to Kubernetes and to a linked 'Spring and Kubernetes' workshop instead. Day-to-day usage beyond that isn't clearly documented in what's available here.
Who should try it — and who should skip
Try Spring Cloud Kubernetes if you're already building Spring Cloud applications and want to keep using Spring Cloud's Discovery Client and Configuration interfaces after moving those apps onto Kubernetes — you get to reuse the abstraction instead of rewriting call sites. Skip it if you're starting a new Spring Boot service straight on Kubernetes with no existing Spring Cloud dependencies: the project's own README says a basic Spring Boot app and Kubernetes itself already cover a lot of ground, and skipping the library keeps you closer to Kubernetes-native code plus Spring Boot's own official deployment path. Also skip it, or wait, if you need Spring Boot AOT processing or a native image — the README says that's not supported yet.
Related repositories
Curious whether spring-cloud-kubernetes is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about spring-cloud-kubernetes.
