Introduction & Motivation
Chapter 1: Run First Applications on Kubernetes
- Install Command-Line Tools for Development
- Generate an App using Quarkus CLI
- Deploy Quarkus Application on Kubernetes
- Expose an App Outside a Cluster
- Generate an App using Spring Boot CLI
- Generate Kubernetes Manifests with the Dekorate Library
- Spring Boot App Image with Cloud Native Buildpacks
- Conclusion
Chapter 2: Local Environment
- Install Docker Desktop
- Install Podman Desktop
- Run Kubernetes in Docker (KinD)
- Install OpenShift Local
- Install Helm
- Conclusion
Chapter 3: Best Practices for Java Applications with Kubernetes
- Application Logs
- Liveness and Readiness Health Checks
- Externalized Configuration
- Collecting Metrics with Prometheus
- Traffic Management and Tracing with Service Mesh
- Properly Define Resource Requests and Limits
- Code Ready for Native Compilation
- Conclusion
Chapter 4: Inner Development Loop
- Quarkus in Development Mode with Kubernetes
- Integrate Eclipse JKube with Spring Boot
- Understanding Skaffold
- Local Development with Mirrord
- Conclusion
Chapter 5: Security
- Manage Certificates with Cert Manager
- Distributing Trusted Certificates
- Manage Secrets
- Rotate Secrets and Certificates
- Automatic Authentication to Database
- Conclusion
Chapter 6: Kubernetes Native Integration
- Introduction to Quarkus Kubernetes
- Property Sources with Quarkus Kubernetes Config
- Quarkus Automated Testing with Kubernetes API
- Service Discovery and Load Balancing with Quarkus Stork
- Introduction to Spring Cloud Kubernetes
- Property Sources with Spring Cloud Kubernetes Config
- Reloading Properties with Spring Boot
- Spring Cloud Load Balancing and Service Discovery
- Conclusion
Chapter 7: Scalability & Performance
- Autoscaling with Knative
- Autoscaling with KEDA
- In-place Pod Resize for CPU Limits
- Native Compilation with GraalVM
- JDK Flight Recorder with Cryostat
- Conclusion
Chapter 8: Service Mesh
- Introduction
- Install Istio on Kubernetes
- Traffic Management
- Enable Tracing
- Fault Resilience
- Conclusion
Chapter 9: CI/CD on Kubernetes with Tekton and Argo CD
- Concept of CI/CD with Kubernetes
- Installation
- Pipeline with Tekton
- Import or Create Tekton Tasks
- Build and Run the Pipeline for a Java Application
- Tekton Support for Testcontainers
- Continuous Delivery with Argo CD
- Create Helm Templates
- Secrets Management and Encryption
- Manage Database Schema with GitOps Approach
- Conclusion