Использование контейнеризации в среде массового хостинга

1,233 views

Published on

Речь пойдет об особенностях использования контейнеров в публичных услугах. Почему linux upstream containers пока не подходят на эту роль? По каким причинам OpenVZ справляется с задачей, но не полностью? Какие фишки контейнеров мы хотим иметь в будущем?

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,233
On SlideShare
0
From Embeds
0
Number of Embeds
691
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Использование контейнеризации в среде массового хостинга

  1. 1. Использование контейнеризации в среде массового хостинга Павел Одинцов Технический директор FastVPS pavel.odintsov@gmail.com fastvps.ru pavel.odintsov@gmail.com
  2. 2. Схема контейнеры Из чего состоят контейнеры? Управляющее ПО Ядро fastvps.ru pavel.odintsov@gmail.com
  3. 3. Ядро Ядерная составляющая PID namespace Network namespace Memory cgroup Mount namespace User namespace CPU cgroup IPC namespace UTS namespace Blkio cgroup (disk) fastvps.ru pavel.odintsov@gmail.com
  4. 4. User Space Управляющее ПО LXC Docker unshare vzctl systemd nsenter libvirt libcgroup bash! fastvps.ru pavel.odintsov@gmail.com
  5. 5. Кастомеры Parallels Yandex Facebook Red Hat Google FastVPS Heroku CERN Docker Вы fastvps.ru pavel.odintsov@gmail.com
  6. 6. Задачи Для чего используется контейнеризация? Изоляция собственного ПО Предоставление массовой услуги VPS/VDS fastvps.ru pavel.odintsov@gmail.com
  7. 7. Изоляция В чем особенности задачи изоляции? Известно, какое ПО у нас работает в контейнере ! Есть возможность оценки, какие типы ресурсов и в каком количестве требует ПО ! Имеется доступ к конфигурации для оптимизации ПО ! Имеется возможность регулярного обновления ПО ! Использование заведомо более-менее адекватного ПО fastvps.ru pavel.odintsov@gmail.com
  8. 8. VPS/VDS В чем особенности VPS/VDS? • Мы не знаем ничего о типе нагрузки и требуемых ресурсах • Мы не имеем доступа к конфигурации • Безопасность на очень низком уровне - велика вероятность полной компрометации • Возможна спланированная «атака» на ресурсы (исчерпание памяти, дисковых ресурсов) • Возможна спланированная «атака» на безопасность / устойчивость сервиса • Высокая вероятность входящих DoS/DDoS атак • Высокая вероятность исходящих DoS/DDoS атак, а также иной зловредной активности • Необходимость предоставить полноценную Linux среду, а не только «частичную» изоляцию fastvps.ru pavel.odintsov@gmail.com
  9. 9. Проблемы Проблемы Linux Upstream Containers • Проблемы в изоляции ресурсов, например, ioctl и многие опасные syscall не изолированы • Нет полной изоляции proc fs • Нет возможности гранулированного контроля за расходом ресурсов IPC, памяти, сокетов, буферов ядра. Как следствие - возможность достижения лимита для хост-сервера. • Отсутствие удобной в эксплуатации реализации файловых систем для контейнеров • Отсутствие Live Migration (Update от 23 января 2013: рабочий прототип: https://github.com/xemul/ p.haul) • Нет возможности ограничить число процессов (process counter cgroup так и не принята в ядро) fastvps.ru pavel.odintsov@gmail.com
  10. 10. OpenVZ OpenVZ - отсутствие проблем •Нет проблем в изоляции ресурсов, напимер, ioctl и многие опасные syscall изолированы •Есть полная изоляция proc fs •Есть возможности гранулированного контроля за расходом ресурсов IPC, памяти, сокетов, буферов ядра •Есть удобная в эксплуатации реализации файловая система для контейнеров - ploop •Есть Live Migration •Есть возможности ограничить число процессов fastvps.ru pavel.odintsov@gmail.com
  11. 11. Наши будни Атаки на контейнеризацию • Входящие DDoS атаки (от 10 kpps до1 Mpps, до 3-5 Gbps и более). От деградции сети на хост-сервере до перегрузки оборудования Дата Центра • Исходящие DDoS атаки (от 50 000 пакетов/секунду и более). Приводит к сильной деградации производительности сети • Попытки размещения командных центров ботнетов. Деградация сети где-то на 50-100 серверах сторонних компаний • Форк бомбы или сбои ПО приводящие к аналогичному эффекту. • Перегрузка iptables conntrack сервера при некорректной конфигурации фаерволла либо при очень высоком трафике на сервис. Приводит к полной недоступности всего сервера • Баги ядра fastvps.ru pavel.odintsov@gmail.com
  12. 12. OpenVZ FastVPS OpenVZ в FastVPS - цифры • 2 Дата Центра • Около 200 хост-серверов • Десятки тысяч контейнеров • 30 различных дистрибутивов ОС • 60 фич риквестов и баг репортов в проект OpenVZ fastvps.ru pavel.odintsov@gmail.com
  13. 13. OpenVZ FastVPS OpenVZ в FastVPS - технологии • Дистрибутив: CentOS 5/CentOS 6 • Ядро: OpenVZ 2.6.32 актуальной версии (если у вас 2.6.18 - срочно обновитесь!) • Файловая система: ext4 (и местами ext3) • Тип OpenVZ дисков: simfs, ploop • Тип используемого контроллера ресурсов: UBC совместно с vSWAP • VzAPI - собственное решение на Go для управления контейнерами OpenVZ по сети с использованием REST/JSON/SSL fastvps.ru pavel.odintsov@gmail.com
  14. 14. Будущее Что мы хотим от контейнеров в будущем? •Большего уровня изоляции и возможность максимально гранулированного контроля всех ресурсов •Дружбы между всеми контейнеризациями! :) •Общего формата шаблонов ОС для контейнеризации: https://github.com/containers/container-rfc •Эффективной системы хранения для контейнеров (даже ploop из OpenVZ имеет ряд проблем) •Динамического распределения ресурсов •Более крутого user space средства для управления и мониторинга •Отсутствия полноценного Linux дистрибутива на хост-сервере, возможно, загрузка по сети или упрощенный root fs, см. CoreOs •Проблемы с файловыми системами и централизованным хранением •Контейнеров работающих не нескольких севрерах •Сетевых (и распределенных) файловых систем (кто внимательный приглашаем на тест: https://openvz.org/Pstorage) fastvps.ru pavel.odintsov@gmail.com
  15. 15. Информация Что можно почитать еще? •http://OpenVZ.org - официальный сайт проекта •http://www.slideshare.net/kolyshkin/ - Презентации от Кирилла Колышкина •Контейнеры — это будущее облаков: http://habrahabr.ru/company/FastVPS/blog/208650/ •Контейнеризация на Linux в деталях — LXC и OpenVZ. Часть 1: http://habrahabr.ru/company/FastVPS/ blog/209072/ •Контейнеризация на Linux в деталях — LXC и OpenVZ Часть 2: http://habrahabr.ru/company/FastVPS/ blog/209084/ •http://LWN.net - общие новости из мира ядра Linux fastvps.ru pavel.odintsov@gmail.com
  16. 16. СПАСИБО! • • • • https://twitter.com/odintsov_pavel pavel.odintsov@gmail.com http://stableit.ru/ http://ru.linkedin.com/in/podintsov Павел Одинцов Технический директор FastVPS pavel.odintsov@gmail.com fastvps.ru pavel.odintsov@gmail.com

×