Как стать автором
Обновить

Комментарии 28

proxmox/opennebula — из коробки lxc

пост имхо ну такое… бенчмарков для сравнения под нагрузкой lxc vs kvm нет

PS: битрикс и в docker разворачивается, и еще тоньше в управлении и конфигурации
proxmox/opennebula — работают через виртуальные диски, что создает неудобства при планировании ресурсов.
Про docker — да, мы знаем, делали, но кейс состоял в предоставлении разработчикам более привычного окружения командной строки
Опишите тогда вашу архитектуру с дисками, т.к. кроме как вынести файлы и сам сервер баз даных в контейнер, я не вижу разницы с docker. То-есть, разработчику нужен bash/php cli? но это ведь делается и запуском комманды из контейнера… Чет я кейса не пойму вашего.

Firecracker пробовали?
Один из кейсов, почему мы перешли на LXC\LXD, это уменьшение комплексной сложности. Поэтому выбиралось самое доступное из применимых решений

А в чём выражается это неудобство при планировании ресурсов? Не могли бы вы уточнить?
К контейнерам в docker'е ведь тоже можно подключаться по cli, а если ещё и кластер k8s, то, например, тот же Gitlab со своими Environment'ами мог совсем красоту навести (там можно к окружению подключиться прямо из интерфейса).

Неудобство при планировании ресурсов — оверхед на виртуализацию, необходимость иметь выделенное хранилище под образы ВМ, отсутствие гибкости в использовании дискового пространства. С контейнерами всё сильно упрощается, до уровня «скопировал-вставил».

Это всё тоже есть, используем k3s в тех же lxc контейнерах или в KVM виртуалке, но не всегда удобно и нужно. Докер используется для портативных сред разработки. Многие проекты приходят с классическим деплоем, или заказчик не хочет docker+k8s, таких кейсов, к сожалению, пока подавляющее большинство. К тому же, по нашему опыту, для многих специалистов контейнеры до сих пор выглядят как магия, или что то сильно оторванное от реальности. В общем случае, мы предпочитаем работать тем инструментом, который подходит к реализации конкретной задачи

Но ведь в Proxmox хранилищем может быть и обычная директория? Никто не заставляет иметь отдельное хранилище. Зато GUI и API, а значит и возможности гибкого управления. А оверхед lxc вы итак имеете, а проксмокс просто набор скриптов над ним.

В своём опыте применения LXC, главная боль — переименование параметров в файлах конфигурации. Очень, очень плохо сделанный transition, из-за чего вся автоматизация пошла плохим путём.

Мы используем гипервизор для контейнеров lxd, проблем с автоматизацией развертывания не испытывали

С какой версии дистрибутива вы начали и на какой вы сейчас?

Начали с ubuntu 16.04, перешли на 18.04
rsync -alvz
буква l лишняя, z скорее всего тоже, какой смысл сжимать передаваемые данные.

php7.1{fpm,bcmath,bz2,cli,common,curl,dev,enchant,fpm,gd,gmp,imap,intl,json,ldap,mbstring,mcrypt,m
тут явно недописана строка, притом что развернется она в названия вида php7.1common, а в репозитории php7.1-common
При форматировании публикации, часть строки оказалась вне поля зрения, благодарим за внимательность, поправили
Можно не ставить pv, а обойтись параметром «status=progress» в команде dd. Не надо ставить лишний софт на сервера, это плохая привычка.
«pv testDB.sql.gz» меняется на «dd if=testDB.sql.gz status=progress»
Если ключ of для dd не указан, то вывод файла будет осуществлён в stdout — на экран, либо в пайп. Больше ничего менять не нужно при этом.
Вот несколько ключевых преимуществ LXC перед виртуальными машинами

А где же недостатки?
А недостатки — недостаточная изолированность, используется общее ядро
То-есть вы жертвуете безопасностью, ради удобства для программистов? :)
У нас сервера находятся в закрытом контуре, доступны только внутри сети
Намучался в ProxMox с этими вашими контейнерами. Ну их подальше. Для тестов хорошо, а так, одно баловство.

А с чем конкретно намучились с Proxmox, если не секрет. А то мы недавно на тестовой среде тоже перебрались на него в качестве эксперимента и хотелось бы знать, что нас ждет.

У нас CEPH, LXC контейнеры не работают с libceph, нужно использовать драйвер ядра специально для контейнеров. Если в контейнере что с большой нагрузкой, контейнер зависал. Нету live migration для них.

А чем тогда пользуетесь? Какую версию использовали или используете?

Контейнеры достались в наследство. Большинство переделали в виртуалки. Остальное, наверное, живёт. ProxMox 4, а потом 5. Контейнеры труднее мониторить, к примеру. Как у них замерить system load? Будет показывать хоста. А на нём куча виртуалок…

Мне казалось наоборот проще через центральный узел и дерево процессов. Но руки ещё не дошли и пока просто смотрю в GUI, поэтому надо будет проверить.

А с нагрузкой на дисковую систему что делаете? Мы используем lxc-контейнеры, но вот проблемы возникают с дисками

Мы используем ssd-cache, об этом напишем статью чуть позже
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.