>_ IzzyLab

Практическое задание

Deployment на 3 реплики

средне

Не пиши манифест руками — сгенерируй его. Нужен Deployment web (образ nginx:1.27, 3 реплики). Собери его командой kubectl в режиме --dry-run=client -o yaml и сохрани в /root/deploy.yaml. Так делают в проде: kubectl сам свяжет селектор и метки. Манифест должен проходить kubeconform.

Что потренируешь:
  • kubernetes
  • kubectl
  • deployment
  • dry-run
  • генерация манифестов

Разбор темы

В проде YAML-манифесты Kubernetes почти никогда не пишут с нуля — их генерируют императивными командами kubectl и правят полученную заготовку. Флаг --dry-run=client -o yaml — это ключевой приём: kubectl не создаёт объект в кластере, а лишь печатает готовый YAML в stdout, который можно перенаправить в файл. Ценность генерации в том, что kubectl сам корректно свяжет selector.matchLabels с template.metadata.labels — ту самую пару меток, на рассинхроне которой чаще всего спотыкаются при ручном письме, а провалидировать результат по схемам можно офлайн через kubeconform.

Что проверяется

  1. Манифест валиден по схеме
  2. kind — Deployment
  3. Задано 3 реплики

Как это выглядит