Введение
В рамках этого испытания вам предстоит продемонстрировать навыки работы с Kubernetes в роли младшего DevOps-инженера в технологическом стартапе. Ваша задача — обновить веб-приложение, использующее NGINX в качестве микросервиса, обеспечив при этом минимальные перебои в работе. Вам потребуется обновить Deployment в Kubernetes до более новой версии образа и подтвердить успешное выполнение стратегии плавного обновления (rolling update).
Обновление Deployment NGINX
Как младший DevOps-инженер, вы должны обновить существующее развертывание таким образом, чтобы пользователи не заметили перебоев в обслуживании.
Предварительные условия
Перед началом убедитесь, что окружение готово:
minikube start
kubectl apply -f ~/project/k8s-manifests/nginx-deployment.yaml
Проверьте статус развертывания:
kubectl get deployments
Задачи
- Обновите развертывание
web-app, установив образnginx:1.24.0-alpine. - Убедитесь, что обновление выполнено успешно с использованием механизма rolling update, гарантирующего отсутствие простоев.
Требования
- Используйте команды
kubectlдля выполнения обновления. - Подтвердите, что приложение продолжает функционировать без пауз в процессе обновления.
- Используйте
kubectl rollout statusдля мониторинга процесса обновления. - Проверьте образы в подах, чтобы убедиться в использовании новой версии.
Подсказки
- Для смены образа воспользуйтесь командами
kubectl edit deployment web-appилиkubectl set image. - Отслеживайте ход развертывания с помощью
kubectl rollout status. - Проверить запущенные поды и используемые в них образы контейнеров можно через
kubectl get pods -o jsonpath.
Резюме
В этом испытании вы продемонстрировали навыки работы с Kubernetes, обновив образ в развертывании веб-приложения NGINX. Вы обеспечили непрерывную доступность сервиса в процессе работы и подтвердили успешность плавного обновления. Это упражнение подчеркивает важность поддержания высокой доступности при внесении изменений в инфраструктуру Kubernetes.


