Kubernetes for Java Developers
2h 25mAdvanced2019-02-28
Authors

Arun Gupta
Principal Open-Source Technologist at AWS
Course details
Kubernetes is one of the most popular container orchestration engines available. More and more employers are looking for developers with Kubernetes experience. As a Java developer, learning Kubernetes deployment techniques is an easy way to extend your existing skills and employability. This course provides a step-by-step guide to help you deploy existing applications with Kubernetes and Amazon Web Services. Learn how to package your applications, create Kubernetes manifests, and deploy them to Kubernetes clusters, both locally and in the Amazon cloud. Instructor Arun Gupta, a professional Java programmer for over two decades, also shows how to configure an Istio service mesh for routing, load balancing, logging, and security and create deployment pipelines that allow you to shift your focus back to building applications.
Learning objectives
Packaging applications using Docker
Building a Docker image with a Dockerfile and Jib
Defining Kubernetes clusters
Deploying with standalone manifests
Deploying with Helm charts
Deploying a Kubernetes cluster on AWS
Adding an Istio service mesh
Shifting traffic with Istio
Creating a deployment pipeline
Learning objectives
Packaging applications using Docker
Building a Docker image with a Dockerfile and Jib
Defining Kubernetes clusters
Deploying with standalone manifests
Deploying with Helm charts
Deploying a Kubernetes cluster on AWS
Adding an Istio service mesh
Shifting traffic with Istio
Creating a deployment pipeline
Skills covered
DockerKubernetesVirtualizationDevOps ToolsDevOpsProgramming LanguagesNetwork and System AdministrationOpen SourceSoftware DevelopmentDeep Dive (X:Y)
Concepts
Introduction
- Applying Java skills to Kubernetes
- What you should know
Introduction to Kubernetes
- Why Kubernetes
- Kubernetes workflow for Java developers
- Build and test application using Maven
Packaging Our App Using Docker
- Docker workflow
- Docker image and container
- Build a Docker image using a Dockerfile
- Work with a Docker container
- Build a Docker image using Jib
- Minimal Docker image using custom JRE
Kubernetes Concepts and Getting Started
- Kubernetes concepts and instantiation
- Kubernetes resources
- Kubernetes cluster concepts
- Kubernetes clusters - Getting started
- Getting started with Minikube
- Deploy using standalone manifests
- Deploy using standalone single manifest
- Introduction to Helm charts
- Deploy using Helm charts
- Debug a deployment with IntelliJ
Kubernetes Cluster on AWS
- Introduction to Amazon EKS
- EKS deployment
- Migrate app to a cluster on AWS
Service Mesh and Istio
- Introduction to service mesh and Istio
- Install Istio on Amazon EKS
- Deploy application with two deployments
- Create Istio resources
- Traffic shifting using Istio
- Visualize mesh using Kiali
Deployment Pipelines
- Skaffold
- AWS CodePipeline
Conclusion
- Next steps