JAVA-KUB

Kubernetes for Java programmers

Form of participation
Form of training
Length of training
  • 2 day (2×8 Lessons)
  • daily 9:00 - 17:00
Available languages
  • Hungarian
Dates

Training price

235 000 Ft
+ VAT/person
Please choose the date and form of participation!
Would you like a custom made solution, group training on this topic?
Find out more about our customised training services here.

Description

The goal of the training is for participants to learn the basics of Kubernetes and to be able to efficiently containerize, scale, and operate their Java applications in a Kubernetes environment. During the course, we will demonstrate the functioning of pods, deployments, services, and configuration management through practical examples, and we will also cover monitoring, scaling, and CI/CD integration. Following industry best practices during the training, we will ensure that participants can confidently apply the opportunities provided by Kubernetes in their own projects.

Outline

  • Introduction to Kubernetes
    • What is Kubernetes and why is it important?
    • Kubernetes architecture and main components
    • Nodes, namespaces, pods, deployments, services
  • Installing and Running Kubernetes
    • Kubernetes distributions
    • kubectl
    • Structure of YAML files
  • Basic Kubernetes Concepts and Practical Usage (1.5 hours)
    • Managing pods and containers
    • Pod lifecycle
    • Deployment and ReplicaSet
    • Deployment versioning
    • DaemonSet
    • Job and CronJob
    • Readiness and Liveness probes
    • Attached volumes
    • Using ConfigMap and Secret
    • Command and Argument
    • Environment variables
    • Services and networking
    • Types of services
    • Ports
  • Containerizing and Running Java Applications in Kubernetes
    • Dockerizing Java applications
    • Multi-stage builds and image size optimization
    • Running Spring Boot applications in Kubernetes
    • OpenJDK and JVM optimization in a containerized environment
    • Configuration management in Spring Boot applications
    • Readiness and Liveness probes
  • State Management in Kubernetes
    • PersistentVolume and PersistentVolumeClaim
    • StatefulSet and databases in Kubernetes
  • Introduction to Kubernetes Operations and Scaling Topics
    • Taints & Tolerations, Node selector, Affinity and AntiAffinity
    • Horizontal and Vertical Scaling
    • Auto Scaling (HPA, VPA)
    • Logging
    • Monitoring (Prometheus, Grafana)
    • Tracing
  • Advanced Kubernetes Topics for Java Developers
    • Creating Helm charts and deploying applications
    • Kustomize
    • Operator pattern and Java-based operators (JOSDK)
    • Service Mesh and Istio basics
    • RBAC and security in Kubernetes
  • CI/CD and Kubernetes
    • Kubernetes deployment pipeline (GitHub Actions, GitLab CI)
    • Rolling update and Canary deployment
    • ArgoCD and GitOps approach
Outline (PDF)

Prerequisites

Proficiency in Java programming language, familiarity with a Java framework (e.g., Spring or Jakarta EE), and minimal networking knowledge are required.

Since some of the training materials are in English, basic reading-level English proficiency is necessary. The training is conducted in Hungarian, based on Hungarian slides.