Инструменты искусственного интеллекта могут за секунды сгенерировать диаграмму развертывания Kubernetes, службы, входа и Helm из описания, написанного простым языком, а выходные данные обычно достаточно хорошо сформированы, чтобы их можно было применить без ошибок. Этот факт незаметно изменил то, что «б...
Инструменты искусственного интеллекта могут за секунды сгенерировать диаграмму развертывания Kubernetes, службы, входа и Helm из описания, написанного простым языком, а выходные данные обычно достаточно хорошо сформированы, чтобы их можно было применить без ошибок. Этот факт незаметно изменил представление о том, как «создание для Kubernetes» ощущается изо дня в день, а также создал разрыв между тем, что выглядит готовым, и тем, что есть на самом деле, что и является предметом этой статьи.
Что на самом деле требует «готовность к Kubernetes»?
Эта фраза охватывает больше вопросов, чем мимолетный kubectl. Он охватывает четыре слоя, которые строятся друг на друге:
Уровень приложений нуждается в правильно контейнеризированной рабочей нагрузке с проверками работоспособности, готовности и запуска; плавное завершение работы; конфигурация передается через переменные среды или ConfigMaps, а не записывается в образ; и секреты, хранящиеся вне изображения и исходного репозитория.
На уровне инфраструктуры необходимы развертывания, настроенные для непрерывного обновления, службы для стабильной работы в сети, Ingress для внешнего доступа, горизонтальный модуль автомасштабирования, настроенный на реальные шаблоны трафика, а также запросы ресурсов и ограничения, установленные на основе фактического измеренного поведения, а не на основе круглых чисел.
Уровень безопасности требует контроля доступа на основе ролей.