Workshop wiki · English

Kubernetes Workshop – Overview

This workshop covers the path from container orchestration fundamentals to secure, production-oriented platform operations.

Workshop examples as ZIP files
Learning progress in the web app

Mark chapters as read, view reading progress and check off practice modules after enabling the optional web app. Workshop progress is calculated from chapters across all document pages. Your choices stay on this device; there is no account or server sync. Installation is not required. Withdrawing your choice in Privacy settings deletes the progress.

Reading progress0%
0%
0 / 13 chapters read
Other language versionGerman ↗Greek ↗

Kubernetes Workshop – Overview

Overview

This workshop covers the path from container orchestration fundamentals to secure, production-oriented platform operations.

The workshop focuses on:

  • Kubernetes architecture
  • declarative resources
  • workloads
  • networking
  • storage
  • scheduling
  • observability
  • GitOps
  • multi-tenancy
  • security hardening
  • incident response

The content can be used as a learning path, workshop material, reference documentation, or foundation for internal training.

01 / 13

Quickstart

This quickstart takes you from choosing a lab environment to starting the first exercise.

Use the Workshop Material

The material is available in the Orthevs Wiki. Practice modules can be downloaded as ZIP files from the workshop page.

Select a Lab Environment

Choose a suitable environment for your labs:

Environment Description Documentation
WSL For Windows systems using Ubuntu on WSL Set up Ubuntu on WSL
VM For local or remote Ubuntu VMs Set up Ubuntu in a VM
Bare Metal For direct installation on physical hardware Set up Ubuntu on bare metal
Existing Cluster For prepared Kubernetes test clusters Prepare cluster access

Provision the Lab Environment

Install the required base tools with the existing setup files:

If a provisioning script exists, check it in dry-run mode first:

bash
chmod +x scripts/provision_kubernetes.sh
./scripts/provision_kubernetes.sh --dry-run
sudo ./scripts/provision_kubernetes.sh

Verify the Cluster

After setup, verify that kubectl points to your Kubernetes cluster:

bash
kubectl version --client
kubectl cluster-info
kubectl get nodes
kubectl get namespaces

If you work locally with kind, minikube, or k3d, use the existing environment and command documentation:

Start the Workshop

Start with the curriculum and then continue through the workshop levels:

  1. Read the curriculum
  2. Start Fundamentals
  3. Open exercises
  4. Run examples
  5. Prepare assessments

Recommended order:

text
docs/ -> workshops/ -> examples/ -> exercises/ -> assessments/
02 / 13

Audience

This workshop is intended for:

  • developers
  • DevOps engineers
  • system engineers
  • platform engineers
  • SREs
  • cloud engineers
  • tech leads
  • security engineers

The goal is to understand Kubernetes conceptually, operate it in realistic environments, and secure it properly.

03 / 13

Learning Path

Level Focus Outcome
Fundamentals architecture, control plane, nodes, pods, deployments, services, namespaces, labels, selectors, kubectl You understand the core concepts and can create and inspect simple resources.
Intermediate workloads, ConfigMaps, Secrets, probes, requests/limits, HPA, ingress, DNS, storage, scheduling, Helm, Kustomize You can operate typical application workloads declaratively.
Professional cluster architecture, distributions, etcd, lifecycle, CNI/CSI, observability, GitOps, add-ons, multi-tenancy, autoscaling, cost management, backup You understand Kubernetes as a platform and can classify operational concerns.
Advanced + Security threat modeling, RBAC, service accounts, API server, etcd security, Pod Security Standards, NetworkPolicies, admission control, image security, runtime security, incident response You can operate Kubernetes more securely and analyze typical attack and failure scenarios.
04 / 13

Structure

05 / 13

Workshop Structure

All workshop repositories use the same base structure. Only the technical subject matter changes.

text
.
├── assessments/
├── docs/
├── examples/
├── exercises/
├── media/
│   └── pics/
├── scripts/
├── workshops/
├── LICENSE.md
└── README-EN.md
Path Purpose
docs/ reference documentation, environment guides, provisioning, certifications, and additional concepts
workshops/*-DE.md German workshop levels
workshops/*-EN.md English workshop levels
exercises/ exercises, tasks, and deliverables by level
assessments/ knowledge checks, exam questions, and final assessment
examples/ YAML examples, tooling labs, and local demonstrations
scripts/ helper scripts for setup, validation, or provisioning
media/pics/ images and visual material
06 / 13

Prerequisites

You need at least:

  • Linux, macOS, or WSL shell
  • basic container knowledge
  • basic YAML knowledge
  • git
  • kubectl
  • access to a Kubernetes lab environment

Optional but useful:

  • kind
  • minikube
  • k3d
  • Helm
  • Kustomize
  • stern
  • k9s
  • kubectx
  • kubens
  • Trivy
  • Kyverno
07 / 13

Internal links in this overview lead to the related workshop material. External links point to official project pages.

Examples:

markdown
[Read the curriculum](docs/curriculum-kubernetes-EN.md)
[Start Fundamentals](workshops/01-fundamentals-kubernetes-EN.md)
[Set up Ubuntu on WSL](docs/environment-wsl-kubernetes-EN.md)
08 / 13

Official Documentation

09 / 13

Tools and Projects

10 / 13

Language and Code Convention

  • Markdown content is maintained in German and English, separated by language.
  • The German version uses direct du wording.
  • Code, commands, file names, variables, and code comments stay in English.
  • Production clusters, secrets, tokens, private keys, and customer data must not be used in labs.
  • Example values must be clearly recognizable as dummy values.
  • Workshop files should follow consistent technical naming.
11 / 13

Working Mode

Create a Branch

Do not work directly on main or master. Use a descriptive branch with username and topic:

bash
git checkout -b workshop/<username>/<topic>

Example:

bash
git checkout -b workshop/alex/kubernetes-networking-lab

Changes should be reviewed through a pull request or merge request.

Security and Credential Notes

  • Do not commit passwords.
  • Do not commit tokens or API keys.
  • Do not commit SSH private keys.
  • Do not commit .env files with real secrets.
  • Do not commit kubeconfig files with production credentials.
  • Do not use customer data or production cluster dumps.
  • Use dummy values in example configurations.
  • Check .gitignore before adding new examples.

Run Scripts

Check provisioning in dry-run mode first:

bash
chmod +x scripts/provision_kubernetes.sh
./scripts/provision_kubernetes.sh --dry-run

If the output is plausible, run provisioning:

bash
sudo ./scripts/provision_kubernetes.sh

sudo is only required for package installation. Scripts must not execute destructive reset actions without explicit confirmation.

12 / 13

License

Unless stated otherwise, the educational material is licensed under CC BY-NC-SA 4.0. Commercial use is not permitted.

Important: images and visual media under media/, especially media/pics/, are excluded. These images were created by Anastasios Karasakalidis and may only be displayed as part of this workshop. Separate use, redistribution, modification, or republication is not allowed without prior written permission.

Contact: anastasios.karasakalidis@orthevs.com

13 / 13

K8S · Orthevs Academy

31 modules as one continuous learning path.

The sequence remains unchanged: from the lab skeleton through technical foundations and operating models to final troubleshooting. The technical directory names are deliberately preserved.

Orthevs – Engineering the foundation for what comes next.

Orthevs as an app

Install Orthevs

The Orthevs web app can be installed on supported mobile devices and desktop browsers.

iPhone and iPad

Open Orthevs in Safari. Tap Share, then Add to Home Screen. Enable Open as Web App if offered, then tap Add.

Android

For the web app, open the browser menu and choose Install app or Add to Home screen. Confirm the installation.

Desktop browser

Open the browser menu or the install icon in the address bar, then choose Install app or Add to Dock.

Web app installation depends on your browser. If no install prompt appears, follow the browser steps shown above.