Введение
Вы приступили к последней задаче этого вводного курса. В предыдущих лабораторных работах вы изучили Pod, Deployment, Service, масштабирование, устранение неполадок и откат. Теперь вам предстоит объединить эти знания в одной небольшой задаче по выпуску обновления — без пошаговой инструкции для каждой команды.
В окружении уже есть работоспособный исходный выпуск с именем web-app. Ваша задача — опубликовать следующую зафиксированную версию образа NGINX, сохранив три доступные реплики и стабильный Service. Итоговое состояние кластера и сохранённый манифест должны совпадать, чтобы выпуск можно было воспроизводимо восстановить после завершения задания.
Выпуск следующей версии NGINX
Запуск среды: В этой лабораторной работе для вас запускается полноценный кластер Kubernetes. Настройка плоскости управления, узла и сетевых компонентов обычно занимает 2–3 минуты. Дождитесь полной загрузки среды, прежде чем начинать работу.
Текущая ситуация
Команда платформы подготовила исходный выпуск в /home/labex/project/final-release/web-app.yaml. Сейчас он запускает nginx:1.26-alpine в трёх репликах за Service web-app.
Область задачи
- Работайте с существующими Deployment
web-app, Service, манифестом и клиентомrelease-check. - Не переименовывайте ресурсы, не изменяйте селекторы и не заменяйте утверждённые параметры поэтапного обновления.
- Используйте зафиксированный целевой образ; плавающие теги, например
latest, не соответствуют требованиям выпуска.
Ваша цель
Опубликовать nginx:1.27-alpine через существующий Deployment и оставить рабочий кластер, путь доступа через Service и сохранённый манифест в едином исправном и воспроизводимом состоянии.
Критерии приёмки
- Deployment
web-appиспользует ровно три желаемые реплики. - Контейнер
nginxиспользует зафиксированный образnginx:1.27-alpine. - Параметры поэтапного обновления остаются равными
maxUnavailable: 0иmaxSurge: 1. - Аннотация с причиной изменения описывает выпуск NGINX 1.27.
- Service
web-appпо-прежнему выбирает Pod этого Deployment и имеет три готовых внутренних сервера. - Все три обновлённые реплики готовы и доступны, а HTTP-запрос из кластера к
http://web-appзавершается успешно. - В
/home/labex/project/final-release/web-app.yamlуказаны итоговый образ и параметры обновления, поэтому повторное применение файла сохранит принятое состояние.
Используйте команды Kubernetes для проверки состояния и процесса обновления, чтобы определить момент завершения выпуска. Если обновление ещё выполняется, дождитесь его окончания — не делайте вывод только по первому результату kubectl get.
Подсказки
Полезно проверить столбцы Deployment READY, UP-TO-DATE и AVAILABLE, образы Pod, историю обновлений и адреса EndpointSlice для Service.
Итоги
Вы завершили курс, самостоятельно выпустив зафиксированный образ NGINX через Deployment в Kubernetes. Вы сохранили явно заданные ограничения доступности, дождались готовности всех обновлённых реплик, оставили Service подключённым к трём готовым внутренним серверам, проверили запрос внутри кластера и сохранили принятое состояние в YAML.
Эти проверки образуют универсальный рабочий процесс для начинающих: объявить желаемое состояние, применить его, наблюдать за ходом работы контроллера, проверить рабочую нагрузку и путь доступа к ней, а также поддерживать соответствие манифеста состоянию кластера.


