Как выучить Kubernetes и не сойти с ума от бесконечных конфигов
Помните свое первое знакомство с Kubernetes? Скорее всего, это был прыжок в холодную воду: десятки абстракций, закрученный YAML и попытки понять, почему один под «красный», а другой «зеленый». Обычно для практики приходится поднимать Minikube или тратить деньги в облаке, но есть способ проще и веселее.
Наткнулся на проект k8sgames — это полноценный симулятор кластера прямо в браузере. Тут всё выглядит как олдскульная 3D-стратегия, где вы расставляете деплойменты вручную, а потом пытаетесь спасти систему от аварий.

Что за проект и зачем в него играть
Автор проекта, rohitg00, решил перенести опыт SRE-инженера в формат игры. Это не просто интерактивный учебник, а песочница на движке Three.js. Вы управляете ресурсами кластера в трехмерном пространстве, видите связи между сервисами и подами, и — самое главное — можете ломать систему без последствий для продакшена.
Для новичков это идеальный способ визуализировать архитектуру. Для опытных ребят — шанс проверить свои рефлексы в режиме «хаоса», когда инциденты сыплются один за другим.
Четыре режима погружения в инфраструктуру
В игре есть несколько сценариев, которые покрывают разные задачи.
- Кампания. 20 уровней, которые последовательно проводят через основы: от запуска первого пода до настройки хранилищ и сетевых политик. Хорошо заменяет скучное чтение документации на старте.
- Chaos. Режим для тех, кто любит погорячее. Инциденты возникают случайно и нарастают как снежный ком. Ваша задача — продержаться как можно дольше, пока кластер не превратится в тыкву.
- Песочница. Свободное строительство. Здесь можно собрать любую схему. Интересная деталь: в этом режиме есть Architecture Advisor. Это встроенный алгоритм, который оценивает ваш дизайн по 10 критериям, включая отказоустойчивость и безопасность, и выставляет оценку от 0 до 100.
- Испытания. Десять сценариев на время. Нужно быстро развернуть приложение или починить упавший сервис, пока тикает таймер.
Что внутри: это полноценный kubectl
Меня зацепило то, что это не просто «кликер». Чтобы эффективно играть, придется использовать терминал. По нажатию на / открывается командная строка, которая понимает реальные команды kubectl.
Можно написать get pods, describe deployment nginx или scale deployment nginx --replicas=3. Есть даже автодополнение по Tab. При этом все изменения мгновенно отражаются в 3D-мире: увеличили количество реплик — и видите, как в кластере «вырастают» новые кубики подов.
В симуляторе реализовано около 30 типов инцидентов. Вам придется лечить CrashLoopBackOff, разбираться, почему ImagePullBackOff мешает запуску, и что делать, когда узел внезапно переходит в NotReady. Все как в жизни: смотрите логи, изучаете describe и вносите правки в YAML.
Визуализация архитектуры k8sgames/draw
Отдельная крутая фича проекта вынесена в подраздел /draw. Это инструмент для рисования архитектурных диаграмм в 3D. Если вам надоели плоские схемы в Miro или Lucidchart, можно заглянуть сюда.
Вы набрасываете ресурсы (их тут 25 видов), проводите связи, а инструмент сам выравнивает их по слоям: узлы внизу, рабочие нагрузки посередине, нетворкинг и сторидж по краям. Готовую красоту можно экспортировать в PNG для презентации или в валидный YAML, чтобы потом использовать в реальном кластере.
Техническая сторона и запуск
Проект написан на чистом JavaScript (ES6) с использованием Three.js и Tailwind CSS. Что приятно — никакой магии с бандлерами и сборкой. Если хотите запустить это у себя локально, достаточно двух команд:
git clone https://github.com/rohitg00/k8sgames.git
cd k8sgames
python3 -m http.server 8080
После этого симулятор доступен по адресу localhost:8080. Весь код открыт под лицензией Apache-2.0, так что можно дописывать свои сценарии или изучать, как реализована логика RBAC и симуляция сети.
Итог: стоит ли тратить время
Проект точно пригодится тем, кто готовится к CKA (Certified Kubernetes Administrator) — набивать руку на командах в таком формате гораздо приятнее, чем в сухой консоли. Также это отличное подспорье для тимлидов, которым нужно быстро объяснить новеньким, как устроена связь между Service и Deployment.
Конечно, это симуляция, и она не заменит опыт работы с реальным высоконагруженным железом. Но как "тренажер для полетов" перед выходом в открытый космос продкшена — штука незаменимая. Сходите на k8sgames.com, попробуйте починить пару павших подов, это затягивает.
