Kubernetes might be a dream for operations teams willing to learn its intricacies, but it can be a nightmare for developers whose primary goal is getting working applications into production.
Spring Cloud Kubernetes addresses developers’ needs by making it simple to deploy Spring Cloud and Spring Boot applications into Kubernetes environments.
This webinar will explore some key Spring Cloud Kubernetes concepts and demonstrate the process of porting an existing application onto a Kubernetes cluster.
10. 10
Why Spring Cloud Kubernetes?
Write portable apps using Spring Cloud
➔ Same source code for different environments
➔ No matter which environment you use, Spring Cloud provides the right platform abstraction
➔ Seamless integration between Kubernetes and Spring
➔ Spring Cloud Kubernetes is GA since February 2019
11. 11
Spring Cloud nicely fits with Kubernetes
ConfigMap/Secret support
➔ Hot reload your app when you
update your configuration
➔ Inject external configuration
properties using ConfigMap
➔ Map Spring config support with
ConfigMap: @Values,
@ConfigurationProperties
➔ Load Secret values into your
beans
Native service discovery
➔ Leverage Spring Cloud Netflix,
without using an Eureka
instance
➔ DiscoveryClient uses
Kubernetes DNS resolver and
cluster events
➔ Use @LoadBalanced and
LoadBalancerClient for
client-side load balancing across
running pods
➔ Spring Cloud Circuitbreaker
support (Hystrix and
Resilience4j)
Pod health indicator
➔ Pod health indicator contributes
to Health actuator:
/actuator/health
Kubernetes awareness
➔ When your app is running in
Kubernetes, profile
kubernetes is automatically
enabled for custom
configuration
15. 15
Under The Covers
App
Spring Cloud
K8S
K8S API Server
K8S API
Client
This requires the App
to have permissions to
use the K8S API
16. 16
Use what is right for the situation
Use Spring Cloud Kubernetes
➔ Existing Spring Cloud apps
◆ Uses client side load balancing
◆ Uses Discovery Client
➔ Is OK to use the Kubernetes API server directly
Use Kubernetes
➔ Just planning on running on Kubernetes
➔ Familiar with Kubernetes