Materials by Ivan Velichko

Ivan Velichko has published 19 tutorials, 198 challenges, 4 courses, 13 skill paths, and 5 shell gyms, and prepared 8 playgrounds.

Featured

Tutorial

How Container Filesystem Works: Building a Docker-like Container From Scratch

Learn how Linux containers are built from the ground up. Starting with the mount namespace and a root filesystem, see why PID, cgroup, UTS, and network namespaces naturally follow - and how this foundation makes concepts like bind mounts, volumes, and persistence in Docker or Kubernetes much easier to grasp.

Containers#container-runtime#docker
Tutorial

How Container Networking Works: Building a Bridge Network From Scratch

Begin with the basics to understand Docker and Kubernetes networking: learn how to create and interconnect Linux network namespaces using only command-line tools.

Containers#container-networking#netns
Tutorial

How Container Images Actually Work: Layers, Configs, Manifests, Indexes, and More

A practical deep dive into container image internals that will help you build a clear mental model of how images are composed, identified, stored, and distributed across registries.

Containers#container-image#oci-image
Course

Computer Networking Fundamentals For Developers, DevOps, and Platform Engineers

A heavily illustrated introduction to the first two layers of Computer Networking: Ethernet and IP. A must for any developer or DevOps engineer who wants to build solid understanding of computer networking before they move to the higher-level protocols like TCP, UDP, and even HTTP.

Networking#ethernet#ip
Shell Gym

Linux 101: Meet the Linux Shell

Your first hands-on session in a Linux terminal. Practice running commands, reading their output, using arguments and options, checking whether commands succeed or fail, and chaining commands together. No prior Linux experience is required.

Linux#shell#bash
Challenge

Deploy a Resource-Greedy Pod Without Breaking the Kubernetes Cluster

Prove your SRE skills - deploy a resource-greedy application to a Kubernetes cluster and make it run for a while without disrupting the service.

Kubernetes#kubernetes-101#pod-resources

All materials

Tutorial

How Container Registries Work: Pushing and Pulling Images By Hand

Container registries look simple until you need to debug what was actually pushed, why a pull picked the wrong image, or why deleting a tag didn't remove anything. Learn how registries work by pushing, pulling, inspecting, and deleting image data directly through the Registry API.

How Container Registries Work: Pushing and Pulling Images By Hand (cover image)
See all tutorials by Ivan Velichko →
Challenge

Fix a Firewall Blocking a Docker Container from Reaching the Host

A Docker container cannot reach a service running on the host because the firewall is blocking the connection. Learn how to troubleshoot container-to-host connectivity and allow the traffic without exposing the service to the network.

Challenge

Preserve Firewall Rules Across Server Reboots (nftables edition)

Firewall rules added with the nft command disappear when the server reboots, and the ports they protect can become exposed again. Learn how to make nftables rules persistent so that they are restored every time the server boots.

Challenge

Preserve Firewall Rules Across Server Reboots (iptables edition)

Firewall rules added with the iptables command disappear when the server reboots, and the ports they protect can become exposed again. Learn how to make iptables rules persistent so that they are restored every time the server boots.

See all challenges by Ivan Velichko →
Course
Unavailable

Hands-On Firecracker: microVMs From First Principles to Production

A hands-on introduction to Firecracker that takes you from booting your first microVM to building secure, production-ready sandbox infrastructure. Learn how to launch and control microVMs, wire up networking, share data efficiently, and harden execution - the essential skills for running autonomous agents and untrusted workloads safely at scale.

Hands-On Firecracker: microVMs From First Principles to Production (cover image)
See all courses by Ivan Velichko →
Shell Gym

Linux 101: Meet the Linux Shell

Your first hands-on session in a Linux terminal. Practice running commands, reading their output, using arguments and options, checking whether commands succeed or fail, and chaining commands together. No prior Linux experience is required.

See all shell gyms by Ivan Velichko →
Skill Path

Master SSH Tunnels: Local and Remote Port Forwarding

Learn how to reach an internal port on a remote machine from the local system, jump through a bastion into a private VPC, expose a development server to the Internet through a reverse tunnel, publish a home network device, and spin up a full-fledged SOCKS proxy with nothing but a regular SSH connection.

Skill Path

Docker 101: Pull and Push Container Images

Learn how to move container images between your machine and container registries. Practice pulling images by tag, digest, and platform; tagging and pushing them to public and private registries; mirroring images across repositories; shipping images into air-gapped environments; and publishing multi-platform images.

Skill Path

Docker 101: Build Container Images

Learn how to write Dockerfiles from scratch and build production-ready container images. Start with the basics of image building and progress through handling dependencies, compiling applications, inspecting image internals, and optimizing builds with multi-stage Dockerfiles. Then go deeper with advanced Dockerfile instructions, analyzing image internals, and producing multi-platform builds.

See all skill paths by Ivan Velichko →
Playground on  Kubernetes, Observability

HotROD + Jaeger on K3s

Jaeger's HotROD demo app pre-deployed on a 3-node K3s cluster, wired to a Jaeger v2 all-in-one over OTLP. Click a customer, then read the trace.

Playground on  Kubernetes, Containers, Security

OpenClaw on K3s with agent-sandbox + gVisor

A 3-node K3s cluster with gVisor (runsc), the kubernetes-sigs/agent-sandbox controllers, and the OpenClaw + gVisor example pre-deployed. OpenClaw's Control UI is available as a dedicated tab.

Playground on  Kubernetes, Observability

OpenTelemetry Demo on k3s

A snapshot-backed three-node k3s cluster with the complete OpenTelemetry Demo, including Jaeger and Grafana.

Playground on  Networking, Linux

Dual-Network Router Lab

Five Ubuntu VMs across public and private subnets, joined by a dual-homed router. The private subnet has no direct Internet access.

Playground on  Kubernetes, Security

Kata Containers Demo

A Kubernetes cluster with the Kata Containers runtime preinstalled.

Playground on  Kubernetes
See all playgrounds by Ivan Velichko →