antonydevanchi
@antonydevanchi
10 лет в айтишке

Какие проблемы могут быть если Docker используется как замена KVM/XEN?

Сейчас у всех пригорит, но тем не менее :)
Привет.

Итак, допустим есть кластер в десять железных машин на каждой из которых 30-50 виртуалок. Виртуалки клиентские, разработческие, в общем зоопарк, облако не приватное. Как это все работает если используется KVM/XEN/etc — понятно.

Вопрос в том что может пойти не так если вместо виртуализации стоит Docker? И Docker используется не как предписано «один контейнер - один сервис», а в хвост и в гриву, как полноценная виртуалка.

  1. Какие угрозы безопасности?
  2. Какие лимиты по ресурсам?
  3. Какие лимиты по возможностям?


Всё спрашивается относительно KVM (или XEN/etc если у вас нет опыта с KVM, тоже интересно)

UPD: Тащемта настроили KVM. Немного посовокуплялись с iptables, но жить можно. Работает стабильно.
  • Вопрос задан
  • 2186 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mrobespierre
1. С безопасностью всё непросто. Вам нужен хороший специалист со знанием Selinux/Apparmor чтобы вручную изолировать контейнеры друг от друга. Насколько я знаю, по умолчанию LSM в Docker не задействованы (решето кароч). В связке KVM/libvirt оно настроено из коробки, нужно только в конфиге включить.
2. С лимитами всё непросто тоже. Docker использует cgroups. В целом они работают. Особенно CPU и Memory (хотя когда я крутил с ними были определённые проблемы: память например ограничивалась, но виделась целиком, что вводило в заблуждение некоторые приложения). Дисковый "контроллер" включался, но по факту не работал (а он, под нагрузкой, самый важный, по крайней мере для меня). Ограничить сеть я вообще не смог (в случае ddos, например, целевой машине лучше иметь 100 мбит). В связке KVM/libvirt настраивается и работает всё.
На этом моменте я от docker отказался и по возможностям ничего сказать не могу. Данные могли устареть (docker активно пилится). По моему мнению, docker - отличная игрушка для программистов, но совершенно не годится для серьёзного продакшена. Кроме того, для KVM/libvirt есть отличные управлялки: OpenNebula и Cloudstack, которые отлично масштабируются с 10 до 1000 хостов (можно и больше), есть ли подобные по удобству и функционалу для docker? - Не уверен.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы