• сборка образа контейнера в случае успешного прохождения тестов;
• загрузка образа контейнера в реестр;
• развертывание приложения в Kubernetes;
• тестирование развернутого приложения;
• обновление Deployment без простоя в работе.
В этой главе мы обсудим следующие темы:
• управление версиями;
• непрерывную интеграцию;
• тестирование;
• создание тегов для образов;
• непрерывное развертывание;
• стратегии развертывания;
• тестирование развернутого кода;
• хаотическое тестирование.
Мы также пройдемся по примеру процесса CI/CD, состоящего из таких этапов, как:
• загрузка изменений в Git-репозиторий;
• сборка программного кода;
• тестирование кода;
Если хотите узнать больше о разных подходах к созданию уведомлений и управлению системами, то почитайте статью My Philosophy on Alerting1 Роба Иващука (https://oreil.ly/YPxju) — она основана на его наблюдениях в ходе работы инженером по мониторингу (site reliability engineer, SRE) в Google.
Метод USE, популяризованный Бренданом Греггом, сосредоточен на следующих аспектах:
• U — Utilization (использование);
• S — Saturation (загруженность);
• E — Errors (ошибки).
Kubernetes — фактический стандарт для облачно-ориентированной разработки. Это эффективный инструмент, который может упростить создание ваших приложений, ускорить развертывание и сделать его более надежным. Но для раскрытия всего потенциала этой платформы нужно научиться ее корректно использовать. Книга предназначена для всех, кто развертывает реальные приложения в Kubernetes и заинтересован в изучении паттернов проектирования и методик, применимых к этим приложениям.