Уточняю: до сих пор помню, как выходит ГД фланта и вещает:
- берём 3 железки в ХЦ
- наливаем цеф
- сверху наливаем кубер
- сверху виртуализацию
И это наше решение всех ваших проблем
Привет! Уже не раз встречаю от тебя подобные заявления, поэтому пора развёрнуто высказаться.
Решение, о котором идет речь, — практика, что мы действительно использовали для ряда клиентов на момент публикации доклада про «Kubernetes для небольших проектов», т.е. лето 2017 года. Причины для этого, а точнее — случаи, в которых оно применялось, в целом примерно таковы:
1. Самые минимально возможные затраты на железки.
2. Когда нагрузки на дисковую подсистему тоже минимальны (production-базы там не запускались).
3. Когда нужны возможности Kubernetes с удобным persistent storage (быстрое создание dev-окружений и БД под них; pod’ы могут легко переезжать между машинами).
Да, это далеко от best practice, но workaround, который на тот момент позволял добиваться желаемого (K8s в маленьких проектах) небольшими средствами. В остальных случаях применялись другие подходы.
Со временем такой подход показал нам все подводные камни — ну, может, не все, но достаточное количество, чтобы значительно его переосмыслить. И мы полностью отказались от виртуалок на Ceph’е в таких проектах, делаем Kubernetes-узлы без виртуализации и т.п.
Поскольку такая схема и без важных уточнений описана в старом докладе, пожалуй, самое время актуализировать эту информацию. Мы напишем новую статью о нынешнем видении (и реализации) Kubernetes’а для небольших проектов — чтобы другие не повторяли ошибок. Спасибо за обратную связь!