Рубрика «контейнеры» - 11

LXD Containers

Продолжаем наш цикл статей о контейнеризации. Если первые две статьи (1 и 2) были посвящены теории, то сегодня мы поговорим о вполне конкретном инструменте и об особенностях его практического использования. Предметом нашего рассмотрения будет LXD (сокращение от Linux Container Daemon), созданный канадцем Стефаном Грабе из компании Canonical.
Читать полностью »

Недавно была опубликована информативная статья Мэтта Уильямса о Java в Docker и существующих ограничениях памяти. Автор поднимает интересную тему о скрытой проблеме ограничения памяти, с которой пользователи могут столкнуться во время работы с контейнерами.

Большое количество репостов и лайков показывает, что данная тема довольно популярна среди Java-разработчиков.image

Поэтому хотелось бы более подробно проанализировать данную проблему и определить возможные пути ее решения.

Проблема

Мэтт описывает свое ночное «путешествие» в контейнере Docker со стандартным поведением памяти JVM. Он обнаружил, что ограничения RAM отображаются некорректно внутри контейнера. В результате, приложение Java, или любое другое, видит общий объем ресурсов оперативной памяти, выделенной для всей хост-машины, а JVM не может указать, сколько ресурсов было предоставлено родительскому контейнеру для работы. Это приводит к ошибке OutOfMemoryError, вызванной неправильным поведением динамической памяти JVM в контейнере.

Фабио Кунг, из Heroku, подробно описал основные причины возникновения этой проблемы в своей недавней статье "Память внутри контейнеров Linux. Или почему в контейнере Linux не работает free и top?"

Большинство инструментов Linux, предоставляющих метрики ресурсов системы, были созданы в то время, когда cgroups еще не существовали (например: free и top, как у procps). Они обычно читают метрики памяти из файловой системы proc: /proc/meminfo, /proc/vmstat, /proc/PID/smaps и других.
Читать полностью »

У каждого контейнера внутри Firefox — собственный набор куков, indexedDB, localStorage и кэш

Firefox позволит заходить на сайты под несколькими аккаунтами одновременно - 1
Работа в Twitter одновременно под рабочим и личным аккаунтами. Фото: Mozilla

Ходят слухи, что на некоторых сайтах какие-то пользователи пишут одновременно под несколькими аккаунтами. Они якобы оставляют однотипные комментарии под разными никами. Игроки в покер и другие онлайн-игры жалуются, что соперники играют как будто сообща, словно договорившись разорить жертву.

Правда это или нет, но в экспериментальной сборке браузера Firefox Nightly только что реализована технология, которая сильно упрощает одновременную работу под несколькими аккаунтами. Теперь для этого не придётся заводить несколько виртуальных машин или открывать несколько браузеров: изоляция окружений реализована непосредственно между вкладками!
Читать полностью »

механизмы контейнеризации

Продолжаем цикл статей о механизмах контейнеризации. В прошлый раз мы говорили об изоляции процессов с помощью механизма «пространств имён» (namespaces). Но для контейнеризации одной лишь изоляции ресурсов недостаточно. Если мы запускаем какое-либо приложение в изолированном окружении, мы должны быть уверены в том, что этому приложению выделено достаточно ресурсов и что оно не будет потреблять лишние ресурсы, нарушая тем самым работу остальной системы. Для решения этой задачи в ядре Linux имеется специальный механизм — cgroups (сокращение от control groups, контрольные группы). О нём мы расскажем в сегодняшней статье.
Читать полностью »

Сегодня многие технологические компании обращают пристальное внимание на технологию контейнеров. В их числе – Google, IBM, Microsoft и конечно HPE. Контейнеры позволяют «упаковать» в один физический сервер намного больше приложений, чем это позволяют сделать виртуальные машины. Контейнерные технологии не новы, например, многие знают о них по разработкам компании Parallels, но они играют все более важную роль в центрах обработки данных и облаках. О них и пойдет речь.

image
Немножко не те контейнеры, о которых речь, но надо же привлечь внимание :)

Как и многие компании мира высоких технологий, компания Hewlett Packard Enterprise занимается венчурными инвестициями. Один из недавних примеров – инвестиции в разработчика лидирующих на рынке программно-определяемых объектных хранилищ Scality. Другой пример инвестиций в передовые технологии – поддержка стартапа Mesosphere, разработчика так называемой DC/OS.
Читать полностью »

Docker — инструмент автоматизации развертывания и управления приложениями в среде виртуализации на уровне операционной системы. Docker позволяет развертывать приложения в переносимых контейнерах и управлять такими контейнерами. Распространяется компанией Docker как свободное программное обеспечение.
Мы поговорили с Никитой Цукановым из компании  Promarket о том, в чем преимущества Docker и как его использовать для развертывания серверных приложений и управления ими.

Docker на службе команды .NET-разработчиков - 1

— В чём актуальность контейнерной виртуализации приложений, как она упрощает развертывание приложений и управление ими?

Docker на службе команды .NET-разработчиков - 2 Корпоративные ИТ-команды очень часто сталкиваются с трудностями в развертывании приложений. Вполне «нормальна», к сожалению, ситуация, когда между разработчиками приложений и ИТ-администраторами отсутствует диалог, когда только один человек в компании знает, какие кнопки надо нажать, чтобы приложение развернулось, а администратор сам ничего сделать не может — потому что существует один-единственный человек, у которого есть сакральные знания о том, как нужно развертывать проект. Случается и такое, что нужно запустить, например, четыре разные версии (иногда почти одинаковые, но все же разные) на разных конфигурациях, на разных машинах, а потом это все поддерживать.

У меня довольно большой опыт подобных проектов, и я выделяю следующие основные проблемы с развертыванием приложений. Первая: очень длинная инструкция по развертыванию, очень сложный процесс развертывания, никто не понимает, что в каком порядке нужно развертывать. Вторая: одно приложение необходимо тиражировать для работы с разными клиентами. Третья: несколько серверных приложений должны работать на одном и том же сервере, и их окружение несовместимо между собой, к примеру, вы решили использовать у себя Linq2Excel, но он требует установки Access Database Engine, 32- и 64-битные версии которого не могут быть установлены одновременно.
Читать полностью »

Немного о контейнерах - 1

Назовите любую технологическую компанию, и практически со 100% вероятностью окажется, что она заинтересована в продвижении контейнерных технологий. Google – конечно. IBM – да. Microsoft – разумеется. Вот и VMware не смогла пройти мимо.

Принимая во внимание тот факт, что в портфолио VMware имеется полный набор программного обеспечения для виртуализированных ЦОД, то интерес компании к популярной технологии ожидаем. Раньше системы на базе vSphere работали с контейнерами как с обычными виртуальными машинами, а это затрудняло управление и вело к проблемам с безопасностью.

«Теперь контейнеры станут полноправными элементами vSphere. Можно управлять как традиционными приложениями внутри виртуальных машин, так и приложениями следующего поколения на базе контейнеров. Обе технологии будут работать бок о бок на одной платформе», – говорит Кит Колберт (Kit Colbert), директор по облачным приложениям VMware.Читать полностью »

namespaces

Последние несколько лет отмечены ростом популярности «контейнерных» решений для ОС Linux. О том, как и для каких целей можно использовать контейнеры, сегодня много говорят и пишут. А вот механизмам, лежащим в основе контейнеризации, уделяется гораздо меньше внимания.

Все инструменты контейнеризации — будь то Docker, LXC или systemd-nspawn,— основываются на двух подсистемах ядра Linux: namespaces и cgroups. Механизм namespaces (пространств имён) мы хотели бы подробно рассмотреть в этой статье.

Начнём несколько издалека. Идеи, лежащие в основе механизма пространств имён, не новы. Ещё в 1979 году в UNIX был добавлен системный вызов chroot() — как раз с целью обеспечить изоляцию и предоставить разработчикам отдельную от основной системы площадку для тестирования. Нелишним будет вспомнить, как он работает. Затем мы рассмотрим особенности функционирования механизма пространств имён в современных Linux-системах.
Читать полностью »

Мы продолжаем рассказывать о компаниях-разработчиках решений (ISV), использующих облако Microsoft Azure. В этом выпуске мы продолжим рассказ про платформу компании Jelastic темой живой миграции контейнеров Docker между облачными провайдерами. Предыдущие статьи цикла вы всегда можете найти на Хабре по ссылке #isvcloudstory. — Владимир Юнев

Последние исследования IDC в сфере облачных технологий показали, что 57% компаний уже внедрили различные формы облачных услуг, 44% планируют или уже используют частное облако и 64% компаний ориентированы на гибридное облако. Это порождает необходимость перемещать рабочие площадки из одного облака в другое, сохраняя при этом высокую производительность и целостность данных. Одним из способов плавного перемещения работающих приложений между разными физическими серверами или датацентрами является живая миграция контейнеров.

Живая миграция контейнеров Docker между облаками - 1

Обычно нужно заново перепаковывать контейнеры с рабочими площадками при каждом перемещении приложения с одного облака или дата центра в другой. В этом случае основной проблемой становится вопрос  автоматизации и бесперебойности миграции.

В нашей статье, мы покажем как можно решить главные проблемы DevOps команд с помощью живой миграции, а также рассмотрим пример практического применения этого решения.
Читать полностью »

Контейнеры: Поиски «магического фреймворка» и почему им стал Kubernetes - 1

Мы в «Латере» занимаемся созданием биллинга для операторов связи. В блоге на Хабре мы не только рассказываем об особенностях нашей системы и деталях ее разработки (например, обеспечении отказоустойчивости), но и публикуем материалы о работе с инфраструктурой в целом. Инженер проекта Haleby.se написал в блоге материал, в котором рассказал о причинах выбора в качестве инструмента оркестрации Docker-контейнеров технологии Kubernetes. Мы представляем вашему вниманию основные мысли этой заметки.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js