Deckhouse Application: с нуля до профи

Практический курс по разработке Deckhouse Application: Kubernetes, Deckhouse, Werf и Nelm с нуля до профессионального уровня.

Смотреть программу курса Начать с M0

Этот курс превращает разработчика без опыта работы с Kubernetes в профессионального разработчика Deckhouse Application — пользовательских workload’ов платформы Deckhouse. Курс целиком посвящён Application: тема Module раскрывается только в объёме, необходимом Application-разработчику для понимания зависимостей и платформы, самостоятельная разработка Module — вне рамок курса.

Как устроен курс

Сквозные связи, которые курс объясняет системно

flowchart TB Dev["Разработчик"] -->|"werf build / d8 package build"| Registry["OCI Registry (packages/modules/...)"] Registry -->|"ModuleSource / PackageRepository"| Deckhouse["Deckhouse controller"] Deckhouse -->|"устанавливает"| Module["Module (ModuleConfig)"] Deckhouse -->|"сканирует версии"| APV["ApplicationPackageVersion"] APV -->|"kind: Application"| AppCR["Application CR"] AppCR -->|"requirements.modules.mandatory"| Module AppCR -->|"рендерит через Nelm"| K8sRes["K8s ресурсы (Deployment/Service/PVC/...)"] Module -->|"предоставляет CRD/сервисы"| K8sRes K8sRes -->|"аннотации werf.io/\*"| Nelm["Nelm (render to plan to apply)"]

Смотрите также шпаргалки по инструментам и глоссарий терминов курса.

Программа курса

M0 — Старт: окружение и первый практический кластер
Карта экосистемы, установка инструментов, локальный кластер kind + Deckhouse CE
3 урока
M1 — Kubernetes с нуля
Pod, Deployment, Service, ConfigMap/Secret, Volumes, Probes, Ingress, Gateway API, Jobs, RBAC — на 11 новых OSS-приложениях
11 уроков
M2 — Deckhouse Platform глазами Application-разработчика
Application vs Module, устройство Deckhouse, Module как зависимость, линтеры платформы
4 урока
M3 — Docker и Werf: сборка образов
Dockerfile-builder и Stapel-builder, линковка образов, секреты сборки, cleanup registry
7 уроков
M4 — Helm → Nelm: рендер и деплой
Анатомия Helm-чарта, почему Nelm сменил Helm 3, три стадии Nelm, CLI, секреты в шаблонах
6 уроков
M5 — Разработка Application: глубокое погружение
Ядро курса. Анатомия пакета, package.yaml, контракт настроек, CRD платформы, хуки, d8 package, статусная модель
10 уроков
M6 — Application ↔ Module ↔ K8s: связи и зависимости
requirements.modules.mandatory, pgadmin+managed-postgres, паттерны Nelm для зависимостей, PVC
8 уроков
M7 — Продвинутый Nelm: полный справочник аннотаций
Ordering/dependencies, lifecycle, tracking, log-аннотации, sensitive-данные, use-case'ы, подводные камни
9 уроков
M8 — Продвинутый Werf
Линковка образов вглубь, cache-репозитории, content-based тегирование, bundle, cleanup, distroless, converge
7 уроков
M9 — Публикация: Registry, CI/CD, линтеры
Анатомия registry, pkglint на практике, dmtlint (теория и анализ), semver, .gitlab-ci.yml, чеклист приёмки
7 уроков
M10 — Production Operations
Мониторинг, дашборды/алерты, логи, HPA/VPA/PDB, storage, backup, security, troubleshooting
10 уроков
M11 — Капстоун
Сборка mid-size self-hosted приложения «с нуля до прод-релиза»: Firefly III
5 уроков