Selectel запустил kpt — новый инструмент для упрощения управления конфигурацией в Kubernetes, который теперь находится в песочнице CNCF. С этим подходом компании получают возможность минимизировать риски и избежать неожиданных ситуаций при деплое.
Что такое kpt и как он работает
kpt базируется на декларативных YAML-манифестах, представляющих желаемое состояние ресурсов. Это означает, что разработчики могут управлять конфигурациями так же, как с кодом, не зависимо от особенностей инфраструктуры. При этом инструменты, встроенные в пайплайн, помогают валидировать и изменять содержимое перед деплоем, обеспечивая полную предсказуемость.
Термин WYSIWYG — «Что видишь, то и получаешь» — отлично описывает принцип работы kpt: те файлы, которые были подготовлены, будут развернуты без изменений в процессе передачи. Таким образом, разработчики могут быть уверены, что продакшен получит именно ту конфигурацию, которую они планировали.
Преимущества перед Kustomize и аналогами
Хотя Kustomize тоже популярный инструмент, он имеет несколько важных ограничений. Например, Kustomize генерирует манифесты динамически во время работы, что может привести к непредсказуемым результатам. В отличие от него, kpt позволяет заранее увидеть и согласовать окончательную конфигурацию, что исключает неожиданности при развертывании.
Кроме того, подход «конфигурация как данные» упрощает аудит и версионирование, позволяя лучше отслеживать изменения. Каждое изменение можно оценить, оценить его влияние на систему и отправить на ревью без необходимости запуска кода.
Воздействие на рынок и будующее kpt
Вывод kpt в песочницу CNCF открыл возможности для его дальнейшего развития. Основной целью команды является стабилизация API и подготовка к масштабированию инструмента. При этом kpt будет интегрироваться с другими популярными решениями, такими как ArgoCD и Helm, что повысит его ценность на фоне существующих инструментов.
Для российских разработчиков переход на kpt сулит серьезные преимущества в организации процессов деплоя, позволяя снизить затраты времени и минимизировать ошибки. Ожидается, что использование kpt станет важным шагом для компаний, стремящихся оптимизировать управление своими Kubernetes-кластерами.
Следующий этап — подготовка кширокому внедрению и выход первой стабильной версии kpt.