
Explore Kubernetes by example (KB E) through hands-on learning paths in Kubernetes fundamentals, container fundamentals, and Spring Boot with Kubernetes, from Docker-based apps to microservices on Kubernetes.
Set up your development environment for Java and Kubernetes by installing a supported OS, at least 16 GB RAM, JDK 11+, Maven, Docker, and connecting to a Kubernetes cluster.
Enable Kubernetes with Docker Desktop by turning on the Kubernetes tab, applying and restarting to launch a single-node cluster on macOS or Windows, and switch contexts via kubectl.
Deploy a Spring Boot application on Kubernetes, configure a service to access the running app, and work through deploying a containerized Spring Boot app in a Kubernetes environment.
Deploy a Spring Boot rest application to Kubernetes by generating a deployment YAML with kubectl dry-run and applying it to run a single pod from a Docker Hub image.
Create a cluster IP service for deployment by using kubectl to generate and apply a service YAML, exposing port 8080 for the Tomcat app and linking via the deployment selector.
Use port forwarding to tunnel local requests to a Kubernetes service, enabling testing with curl and Postman.
Learn how to clean up a Kubernetes cluster by deleting services and deployments with kubectl, ensuring no remaining resources after development testing.
Expose a Spring Boot application on Kubernetes using a node port service, mapping a local host port to the cluster, enabling direct access without tunneling.
Learn how to access and monitor Spring Boot app logs on Kubernetes using kubectl logs, with tail and follow options to stream updates.
Enable a readiness probe for Spring Boot on Kubernetes by configuring Spring Boot actuator environment properties and a Kubernetes readiness probe to the actuator health readiness URL.
Enable liveness and readiness probes for a Spring Boot app on Kubernetes using Actuator health endpoints and environment variables, ensuring the service stays alive and ready on port 8080.
Enable a graceful shutdown in Spring Boot and coordinate with Kubernetes to give in-flight work time to finish, using server.shutdown.graceful and a 10-second shutdown window.
Kubernetes is a container orchestration system used to automate software deployment, scaling and management.
Effectively, Kubernetes is a management tool direct the running of Docker images.
Kubernetes is actually much more than just a tool to run a Docker image.
However in this course, we will be running a single Docker image under Kubernetes. You will learn how to deploy a simple Spring Boot application (in a Docker image) under Kubernetes.
The course uses a publically available Docker Image. The image contains a Spring Boot Application, which exposes a simple RESTful API.
After learning how to set up a local Kubernetes environment for development, you will learn how to create a Kubernetes Deployment. A Deployment is how Kubernetes defines a Docker container to run.
Next you will learn how to configure a Kubernetes Service. A Service is how you direct Kubernetes to expose deployments to network resources.
Spring Boot has added features to support running in a containerized environment. Two of these are Readiness and Liveness probes.
The Readiness probe accounts for startup period of an application. Once the application has started and is ready for work, the Readiness probe will return a positive result.
The Liveness probe returns a positive result while the application is in a healthy state. Kubernetes can monitor the Liveness probe for application health.
Finally in the course, you will learn to configure a graceful shutdown. This allows the Spring Boot application to complete any inprocess transactions before the container is terminated.
If you're looking to get started running your Spring Boot applications under Kubernetes enroll today!