The Curious Engineer

All blogs / DevOps / SRE / infrastructure

iximiuz Labs

labs.iximiuz.com

Practice on real servers, solve challenges, and follow guided Linux, Docker, Kubernetes, and Networking learning paths — all from your browser or via SSH.

DevOps / SRE / infrastructureLinux / UnixNetworkingSecurity

Posts
88 from 17 Jun 2023 to 4 Nov 2026
Posting
weekly (72 in the last year)
Kind
company blog
Feed
https://labs.iximiuz.com/feed.atom

2026 72

  1. Challenge: Bypass a Broken VPN with a Routing Trick to Restore SSH Access to a Dual-Homed Server
  2. Challenge: Block Unexpected Access to a Service on a Dual-Homed Linux Server
  3. Skill Path: Troubleshoot Kubernetes Pods with kubectl debug
  4. Challenge: Edit a File in a Running Kubernetes Pod: a Non-Root Container Case
  5. Challenge: Edit a File in a Running Kubernetes Pod: a Distroless Container Case
  6. Challenge: Use a Kubernetes Job to Test NATS Pub/Sub
  7. Challenge: Reach a Linux Service Through an Interface It Doesn't Listen On
  8. Shell Gym: Kubernetes Gym: Managing Container Images
  9. Shell Gym: Kubernetes Gym: Building Container Images
  10. Challenge: Pull a Deployment's Image from a Private Registry
  11. Blog Post: How I added dynamic social preview images to my site for almost nothing
  12. Challenge: Connect a Container to a Service Bound to Localhost on the Docker Host
  13. Challenge: Connect a Container to a Service Running on the Docker Host
  14. Challenge: Harden a Django GraphQL API: Five Classic Flaws
  15. Challenge: Intercept and Analyze Encrypted Traffic of a Suspicious Container
  16. Challenge: Redirect a Container's Requests Without Modifying the App
  17. Shell Gym: Kubernetes Gym: ConfigMaps, Secrets and Downward API
  18. Shell Gym: Kubernetes Gym: Storage
  19. Challenge: Safe Node Drain With a Disruption Budget
  20. Challenge: Lock Down Container Syscalls With Seccomp Profiles
  21. Challenge: Roll Out Pod Security Standards Across Three Namespaces
  22. Challenge: Troubleshoot an Ingress That Returns 503 Service Unavailable
  23. Challenge: Troubleshoot an Ingress That Returns 404 Not Found
  24. Challenge: Reach a Distroless Container's Debug Endpoint From a Sidecar Container
  25. Challenge: Run the Application's Test Suite in a Container Without Network Access
  26. Challenge: Turn Off a Feature Flag in a Production Redis Server Using a Local Containerized redis-cli
  27. Challenge: Docker 101: List Docker Networks and Inspect the Default Bridge
  28. Challenge: Docker 101: Publish All Exposed Ports on Random Host Ports to Avoid Port Conflicts
  29. Challenge: Docker 101: Publish a Redis Container Port on the Private Network Only
  30. Shell Gym: Kubernetes Gym: Jobs and CronJobs
  31. Tutorial: How Kubernetes Operators Work: Building a Controller From Scratch
  32. Tutorial: How Kubernetes CRDs Work: Designing a Validated API From Scratch
  33. Challenge: Docker 101: Reach a Container Without Publishing a Port
  34. Challenge: Node Is Ready, but Pods Won't Schedule
  35. Challenge: Docker 101: Publish a PostgreSQL Container Port on Localhost Only
  36. Challenge: Split a Deployment Evenly Across Two Zones
  37. Challenge: Migrate a Traefik Ingress to the Gateway API and Cut Traffic Over
  38. Challenge: Docker 101: Publish a Container Port to Access the App from the Host
  39. Challenge: Verify Downloaded Files with SHA-256 Checksums
  40. Challenge: Call an HTTP API with curl: Authenticating with Basic Auth and Bearer Tokens
  41. Challenge: Call an HTTP API with curl: Processing JSON Responses with jq
  42. Challenge: Call an HTTP API with curl: Creating, Updating, and Deleting Resources
  43. Challenge: Call an HTTP API with curl: Reading Resources
  44. Challenge: Identify the Source of Unexpected Requests in a Kubernetes Cluster
  45. Challenge: Identify the Source of Unexpected Requests in an On-Prem Network
  46. Challenge: DNS 101: Resolve Public, Internal, and Local Hostnames
  47. Playground: SilverStack WordPress Server
  48. Shell Gym: Kubernetes Gym: ReplicaSets and Deployments
  49. Skill Path: Learn Linux by Fixing Broken Servers
  50. Shell Gym: Linux 101: List Files and Use Patterns
  51. Shell Gym: Linux 101: Create Files and Directories
  52. Shell Gym: Linux 101: Navigate the Filesystem
  53. Challenge: Inspect Network Interfaces, IP Addresses, and Routes on a Linux Host
  54. Shell Gym: Kubernetes Gym: Pods
  55. Shell Gym: Linux 101: Get Unstuck in the Shell
  56. Challenge: Debug a Go Container Image That Fails to Start After a Recent Change
  57. Tutorial: Secure Machine-to-Machine Access with mTLS and Pomerium
  58. Challenge: Debug a Pod Stuck at 0/1 Ready Due to a Readiness Probe
  59. Challenge: Pick and Deploy the Least Permissive NetworkPolicy
  60. Shell Gym: Linux 101: Meet the Linux Shell
  61. Playground: Doom Perf Lab
  62. Challenge: Access a Private Kubernetes API Server Through an SSH SOCKS Proxy
  63. Challenge: CKA Practice: Recover a NotReady Node After a Kubelet Configuration Error
  64. Challenge: Kubernetes - Multi-Container Pod Design Patterns
  65. Challenge: CKA Practice: Renew Expiring Control Plane Certificates
  66. Challenge: CKA Practice: Recover a Broken Static Control-Plane Pod
  67. Challenge: Issue Per-Pod mTLS Certificates with PodCertificateRequest
  68. Thoughts on OpenAI's accidental attack against Hugging Face
  69. Are user namespaces good for your health?
  70. Docker 101: Pull Container Images from Different Registries
  71. All The Ways To Loop and Iterate in eBPF
  72. A grounded take on agentic coding for production environments

2025 3

  1. Server-Side Playgrounds Reimagined: Build, Boot, and Network Your Own Virtual Labs
  2. Server-Side Playgrounds Reimagined: Build, Boot, and Network Your Own Virtual Labs
  3. Build a Production-Ready Node.js Container Image: SvelteKit Application

2024 2

  1. Read Container Image Labels Using ctr
  2. Network Access to a Container Started by ctr

2023 5

  1. Exploring Tetragon - A Security Observability Tool for Kubernetes, Docker, and Linux
  2. [not a] Kubernetes 101 - Pods, Deployments, and Services As an Attempt To Automate Age-Old Infra Patterns
  3. JavaScript or TypeScript? How To Benefit From the Dichotomy
  4. On Software Design... and Good Writing
  5. Building a Firecracker-Powered Course Platform To Learn Docker and Kubernetes

Undated 6

  1. Kubernetes Cluster
  2. Docker
  3. Ubuntu 26.04
  4. Coding Agent Base
  5. FlexBox
  6. Kubernetes Cluster (K3s)