Прекрасный и ужасный Kubernetes
Сегодня на очереди пост по докладу Василия Мермера из Fland о кубернизации приложений. В полной версии Василий в деталях рассказывает о плюсах и минусах Kubernetes, о критериях хорошего приложения и его жизненном цикле.
Kubernetes — полезный инструмент для развертывания, масштабирования и управления контейнезированными приложениями. Но если с ним неправильно обращаться, он может работать против вас. Наверняка так и появилось мнение, что Kubernetes — не торт. Но проблема в том, что люди часто используют один контейнер для всего:
? Помещают внутрь Supervisorctl несколько процессов.
? У каждого свои лог-файлы для разных мест.
? Состояние лежит рядом в виде файла.
Понятно, что такой катавасией невозможно управлять. Kubernetes к тому же и сложный инструмент, который нужно использовать правильно. И при условии, что разработка и эксплуатация работают вместе. Можно сказать, что разработчик и инженер едут в двухместных санях по бобслейной трассе.
Чтобы ехать хорошо и быстро, нужно правильно написать, собрать и доставить код.
? Если конвейер CI/CD построен правильно, мы успешно доедем до финиша.
? Чтобы было куда доставить код, нужен правильно приготовленный Kubernetes.
? Приложение должно быть написано в соответствии с 12 факторами:

? И еще 7 факторами:
наблюдаемость (observable);
прогнозируемость (schedulable);
обновляемость (upgradable);
минимальные привилегии (least privilege);
контролируемость (auditable);
защищенность (securable);
измеримость (measurable).