Materials by Ivan Velichko

Explore tutorials, challenges, courses, and more published by this author.

Tutorials by Ivan Velichko

See all →
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)

Challenges by Ivan Velichko

See all →
Challenge ·Hard

Debug a Go Container Image That Fails to Start After a Recent Change

A Go service that has always been shipped as a static binary in a scratch-y image suddenly fails to start in a container, while the local build works as before. Find what recent changes caused it and fix the image without reverting them.

Submissions: 9/20
Challenge ·Medium

Access a Private Kubernetes API Server Through an SSH SOCKS Proxy

The production Kubernetes cluster lives inside a private VPC, and its API server has no public endpoint. Turn an SSH connection to the bastion host into a SOCKS proxy and teach kubectl to use it, so the cluster becomes manageable from your workstation.

Submissions: 38/60

Courses by Ivan Velichko

See all →
Course
Work-in-Progress

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)

Shell Gyms by Ivan Velichko

See all →
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.

Skill Paths by Ivan Velichko

See all →
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.

Playgrounds by Ivan Velichko

See all →
Playground on  KubernetesObservability

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  KubernetesContainersSecurity

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  KubernetesObservability

OpenTelemetry Demo on k3s

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

Playground on  NetworkingLinux

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  KubernetesSecurity

Kata Containers Demo

A Kubernetes cluster with the Kata Containers runtime preinstalled.

Playground on  LinuxContainers

Docker on Btrfs

Hands-on Docker on Btrfs: experiment with native snapshots, compression, and checksums; inspect setup, grow the filesystem live, and back up/restore images and containers.