•  Untoreh-light

На контейнерах

Использование контейнеров, что и зачем

Что такое контейнеры

[Контейнеры] - это имя, данное средам с ограниченным доступом, что стало возможным благодаря набору подсистем в Linux, таких как [cgroups ] а также [namespaces ]. Хотя на вики-странице используется слово виртуализация Я думаю слово изоляция более уместен, поскольку виртуализация означает, что существует промежуточный уровень трансляции, в то время как контрольные группы и пространства имен разделяют и контекстуализируют процессы.

Cgroups используются для определения политик распределения ресурсов, обычноRAM а такжеCPU , а пространства имен контролируют такие контексты, как точки монтирования, сеть и пользователи. [Apparmor] вместо этого предоставляет способ ограничить возможности для сред контейнеров в целом, тогда как apparmor без контейнеров, как написано в википедии, основан на программах.

Такие инструменты, как Flatpak а также пожарная тюрьмаиспользовать контейнеры, чтобы ограничить поверхность доступа пользовательских приложений. Контейнеры [Windows] реализуют эквивалентные системы, а также предлагают поддержку контейнеров Linux через [WSL].

Но почему?

Слишком?

Когда я начал строить сосна , Я немного поэкспериментировал с отправкой собственных образов контейнеров, распространяемых из выпусков github. Основной скрипт (trees ) команды были

Usage: trees APP [FLAGS]...
'APP'               Install apps through ostree deltas checkouts.
    -b, --base      base image (alp,trub...)
    -n, --name      same as APP (etcd,hhvm...)
    -f, --force     clear before install
    -d, --delete    clear checkout and prune ostree repo
ck, check           make sure the apps repo is mounted
co, checkout        builds the trees of links for the specified APP
    -t 	            optional path where to build the tree

Это было похоже на flatpak, поскольку я отправлял статическую дельту ostree на основе основного образа сосны и [проверял] новое приложение на основе rootfs, а затем запускал экземпляр контейнера поверх него. У OpenVZ до v7 было много проблем с запуском контейнера (поскольку вы знаете ... у вас вложенный контейнер на контейнерном [VPS], а ядро ​​было форкомv2.6 (!))...это был огромный пустая трата времени.

Когда?

Моя попытка заключалась в том, чтобы получить минимальное время выполнения контейнера, не требуяdocker или более мощное программное обеспечение, поскольку докер, вероятно, самый легкий, и докер рой , будучи встроенным, разделяет множество функций и предоставляет вам наиболее полезные функции для оркестрации, что делает его наиболее зависимым от требований к системе хоста по сравнению с k8s или кочевник.

Несмотря на то, что контейнеры - это функция, которая вам может понадобиться в большинстве случаев, оркестровка - нет. думаю слабо нацеленный рекламные кампании привлекают непреднамеренный целевая аудитория для такого программного обеспечения, заставляя поверить в то, что оно может быть полезным им , не подчеркивая того, что вы В самом деле необходимо много (!) масштабировать, чтобы оправдать сложность таких настроек. Количество удобные инструменты построенный на основе k8s, чтобы помочь процессу начальной загрузки кластера k8s, должно быть достаточным доказательством ...

Выводы

Инструменты оркестровки в конечном итоге вытесняют решения для управления машинами с несколькими хостами, когда пользователи не могут отличить серверы для домашних животных от серверов для крупного рогатого скота. Во многих случаях программное обеспечение, такое как ansible, pyinfra или даже cssh или засранец это все, что когда-либо нужно.

Теги сообщений: