Show all

Kubernetes workshop

Build your own cluster to running cloud-native applications with Kubernetes. Our workshop covers it all using engaging examples and activities.
Level
Designed for participants without knowledge and experience
basic
Course length
2 days
Language
 cz  eu
Course code
PU23010008
Kubernetes
Category:
Do you want this tailor-made course to your company? Contact us

Courses with lecturer

Term
Language
Place
Form
?
How and where the course takes place.
Price without VAT
12. - 13. 12. 2024
Language
Place
Praha
Form
classroom
?
The course with an instructor in classroom.
Code of the course: PU23010008-0014
Price without VAT
20 000 Kč
27. - 28. 2. 2025
Language
Place
Praha
Form
classroom
?
The course with an instructor in classroom.
Code of the course: PU23010008-0015
Price without VAT
20 000 Kč
20. - 21. 3. 2025
Language
Place
online
Form
virtual classroom
?
Online training with a lecturer at a specific time.
Code of the course: PU23010008-0016
Price without VAT
20 000 Kč
Open term
?
We will agree on a specific date together. This is a non-binding order.
Language
Place
online
Form
virtual classroom
?
Online training with a lecturer at a specific time.
Code of the course: PU23010008-0001
Price without VAT
20 000 Kč
Open term
?
We will agree on a specific date together. This is a non-binding order.
Language
Place
online
Form
virtual classroom
?
Online training with a lecturer at a specific time.
Code of the course: PU23010008-0002
Price without VAT
910,00 €

Expressions of participants

Lubomír Sivčák
"Thank you for the fact that Mr. Snopek explains a lot of his personal experience and shows the discussed things on the running infrastructure."
Václav H.
"The lecturer knew the issue in depth and answered any question. He proceeded systematically when explaining and always left room for questions. So I have only words of praise :)"

Course description

Kubernetes is an open source platform for managing container workloads and services that facilitates declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.

Required knowledge

Docker and Kubernetes basics.

Target audience

The course is designed for sysadmins, DevOps, systems engineers, and others who need an introduction to containers and Kubernetes.

Course content

Basic Kubernetes concepts 
  • API server, 
    • control plane, worker nodes
  • Kubernetes API objects, API groups
  • Kubernetes YAML manifests  and objects
  • Basic object kinds
    • Pods, ConfigMaps, Secrets
    • Services, labels and annotations
    • Deployments, StatefulSets
    • Namespaces
    • Ingresses
    • Custom Resources
  • Kubernetes controllers
    • scheduler, ...
TASKS: 
  • connect to K8S server
  • create objects in the API server
  • list node objects
  • ensure labels and annotations 
Advanced kubectl
Use kubectl parameters  for custom scripting and object processing
  • connection to remote K8s cluster
  • --output and --template formats
  • --selector
  • --dry-run=

TASKS:
  • Use multiple `kubeconfig`s
  • Use kubectl filtering and outputs
  • Compare  `.spec` and `.status` sections of k8s object
Application Deployment with apps/v1
Using `Deployments`, `DaemonSets`, `StatefulSets` for application deployment and rollout. 
  • Why do we need selectors?
  • `Deployment` and relation to `ReplicaSet`
  • What is `revisionHistoryLimit` and what can go wrong?
  • multiple `rolloutStategies` and their usage
  • What is `ownerReference` used for?
TASKS:
  • Place  `Deployment`, modify it and watch the results
  • Check `revisionHistoryLimit` quirks.
  • Compare `Recreate` and `RollingUpdate`  priorities. Tune RollingUpdate strategy
  • Inspect `ownerReference`
Exposing container services to the outer world
Exposing pods to services using pod labels. Explore multiple service types.
Ingresses and CertificateManager expose service with HTTP/HTTPS protocol.
Services:
  • Difference on ClusterIP vs headless services
  • Using ExternalName service for service discovery
Ingresses:
  • How ingresses works 
  • How can we use CertificateManager to get certificates using ACME  protocol
TASKS (Services):
  • Expose pods using service..
  • Inspect the exposed service with  DNS lookups.
  • Create headless service and compare it to ClusterIP one
  • Inspect Service Endpoints
  • Create LoadBalancer service (on cloud only)

TASKS (Ingresses):
  • Expose service to the world on HTTP
  • Configure CertificateManager 
  • Use CertificateManager to get LetsEncrypt certificate
Pod Resource Limits 
Using `resourceLimits`, soft and hard limits, pod `QualityofService` classes.
What can go wrong with resource limits?
TASKS:
  • Place resourceLimits on the objects
  • Explore what happens when pod exceeds the limits.
Pod statuses and lifecycle
Pods can have multiple states and advanced initialization
  • using `containers` and `initContainers`
  • pod probes - `startupProbe`, `livenessProbe` and `readinessProbe`
  • use `lifecycle` hooks -  `preStop` and `postStart`  
  • Use `terminationMessagePath`
TASKS:
  • Use initContainers, use `preStop` and `postStart` hooks.
  • Explore `livenessProbe` and `readinessProbe` within a service.
Pod scheduling and affinities
Some pods can be started with `podPriority`. How it can be used?
Pods can be scheduled to be located on specific nodes with affinities.
TASKS:
  • Create a PriorityClass and apply it to a node.
  • Schedule a pod to the specific nodes with  `nodeAffinity`.
  • Schedule multiple pods to one node with `podAdffinity` 
  • Explore pod with  `podAntiAffinity`
Deployment with Kustomize 
What is `kustomize` used for and what problems can `kustomize` solve for us?
TASKS:
  • Use kustomize to deploy multiple instances of one application 
  • Inspect kustomize generated manifests.
Demo:
  • Using kustomize with ArgoCD.
Helm charts
Using Helm for deploying applications consisting of multiple manifests. Which tasks Helm solves for us?
TASKS:
  • Download chart from registry 
  • Inspect the chart
  • Deploy the chart to a release.
  • Customize the chart `values` and redeploy. Inspect the deployed objects.
  • Optionally: create a custom chart.
Container storage 
Implementing persistent storage with `PersistentVolume` and `PersistentVolumeClaim` objects.
TASKS:
  • Inspect existing StorageClasses
  • Create a new PVC 
  • Deploy Pod with PVC.
  • Explore PV modes.
To be discussed?
  • Jobs
  • Cronjobs
  • ServiceAccounts and their permissions
  • Secret management
  • Log management
  • Event management 

Certification

At the end of the course, you will receive a certificate and completion. 

Objectives

Participants will learn the following concepts and skills:
  • Containers and the concept of an orchestra
  • Basic concepts of Kubernetes
  • Advanced kubectl
  • Kubernetes cluster management
  • Networking, storage and security for Kubernetes
  • Helm charts and tables

Lecturers

Jiří Snopek
Jiří Snopek

Jirka's passion for imparting experience and knowledge to perfectly developed courses and trainings. He improves his teaching skills with foreign lecturers. He uses modern technology, new approaches, visualizations, labs for his courses.

Jirka is an expert in open source and shares his knowledge in our Linux, Ansible, containerization, OpenShift, Kubernetes, ArgoCD, Grafana, Proxmox courses.

Jiří leads a team focused on the development and operation of web and mobile applications. He is a Linux system administrator and information technology and banking infrastructure architect. Experienced in automation, optimization, infrastructure architecture and application design.

His certifications: Red Hat Certified Trainer of the Year (2019) EMEA - DevOps, Red Hat Certified Specialist in Hybrid Cloud Management, Red Hat Certified Architect Level III, Red Hat Certified Specialist in OpenShift Application Development

Do you want this tailor-made course for your company?

Contact us

News with the course

Náhledový obrázek novinky
Open Source: Docker 7. 7. 2023
IT evolution

     Once upon a time, there lived a system administrator named Henry. He was a dedicated systems manager in a medium-sized company. He took care of his group of servers and knew everything about each of them. However, as the company grew, the number of servers Henry had to work with also increased. 

Náhledový obrázek novinky
Open Source: Docker 7. 3. 2023
Docker and Kubernetes

Docker and Kubernetes are two different technologies that are often used together in the context of containerized application deployment and management. 

Previous courses

Expressions of participants

Lubomír Sivčák
"Thank you for the fact that Mr. Snopek explains a lot of his personal experience and shows the discussed things on the running infrastructure."
Václav H.
"The lecturer knew the issue in depth and answered any question. He proceeded systematically when explaining and always left room for questions. So I have only words of praise :)"

Do you want this tailor-made course for your company?

Contact us

News with the course

Náhledový obrázek novinky
Open Source: Docker 7. 7. 2023
IT evolution

     Once upon a time, there lived a system administrator named Henry. He was a dedicated systems manager in a medium-sized company. He took care of his group of servers and knew everything about each of them. However, as the company grew, the number of servers Henry had to work with also increased. 

Náhledový obrázek novinky
Open Source: Docker 7. 3. 2023
Docker and Kubernetes

Docker and Kubernetes are two different technologies that are often used together in the context of containerized application deployment and management. 

Why with us