6. Мандатный контроль доступа
● Интеграция с ядром
– LSM и расширенные атрибуты
● Для чего использовать:
– Запуск с минимальными привилегиями
– Защита от эксплоитов
– Защита пользовательских данных
● Для чего не предназначена:
– Аудит кода
– Шифрование
– Обновления
7. Docker – изменил правила игры
● Docker CLI – интересен, но это не столь значительное
нововведение. Технологии, позволяющие создавать
контейнеры в GNU/Linux > 10 лет
● Docker интересен как формат упаковки и
распространения приложений.
8. Docker – терминология
● Контейнер – запущенное из образа приложение.
● Образ – статический снимок конфигурации
контейнера. Образы могут зависеть от других образов.
Образ всегда доступен только на чтение. Изменения
сохраняются только созданием образа поверх образа.
● Образ платформы – не имеющий родительских
образов. Содержит базовые библиотеки и утилиты
для запуска приложений.
9. Docker – упаковка приложений
● API и формат образов:
– перемещаемость контейнеров между хостами;
– контроль версий и повторное использование
компонентов;
– удаленный репозиторий образов;
– Dockerfile – шаблон конфигурации для сборки
образов;
– Для разделения различных уровней контейнера на
уровне файловой системы могут использоваться
AUFS, btrfs, vfs и DeviceMapper.
10. Драйвер Docker для Nova - установка
● Установить и запустить Docker на выч. Узле
– yum -y install net-tools docker-io
– systemctl start docker
– git clone https://github.com/stackforge/nova-docker.git
– python setup.py install
● Добавить формат в Glance
– crudini --set /etc/glance/glance-api.conf DEFAULT
container_formats ami,ari,aki,bare,ovf,ova,docker
● Указать драйвер в Nova-compute
– crudini --set /etc/nova/nova.conf DEFAULT
compute_driver novadocker.virt.docker.DockerDriver
11. Драйвер Docker для Nova - работа
[root@compute ~]# docker pull larsks/thttpd
[root@compute ~]# source keystonerc_admin
[root@compute ~]# docker save larsks/thttpd | glance image-create --is-
public True --container-format docker --disk-format raw --name
larsks/thttpd
+------------------+--------------------------------------+
| container_format | docker |
| updated_at | 2015-05-09T19:42:25 |
+------------------+--------------------------------------+
[andrey@pc ~]$ glance image-list
+------+---------------------+-------------+------------------+
| ID | Name | Disk Format | Container Format |
+------+---------------------+-------------+------------------+
| bc.. | cirros-0.3.3-x86_64 | qcow2 | bare |
| 71.. | larsks/thttpd | raw | docker |
+------+---------------------+-------------+------------------+
12. Драйвер Docker для Nova - работа
[andrey@pc ~]$ source keystonerc_demo
[andrey@pc ~]$ nova boot --image larsks/thttpd --flavor m1.small test1
[root@compute ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
4680097f2cc0 larsks/thttpd:latest "/thttpd -D -l /dev/ 13 minutes ago
Up 13 minutes nova-65de57d0-f033-4818-a522-2c3291dc516b
14. Magnum
● API-сервис для использования Docker, Kubernetes как
ресурсов в OpenStack
● Использует Heat и ОС (Atomic, CoreOS, Snappy)
● ОС включает в себя компоненты Docker и Kubernetes.
Когда кластер запускается в кластере Nova, Magnum
им управляет
● https://github.com/openstack/magnum
15. Kolla
● Сервсис для контейниризации служб OpenStack как
отдельных микро-сервисов
– Репозиторий Kollaglue
● Задачи:
– Внедрение;
– Упрощение обновлений;
– Переносимость;
●
Например oVirt 3.6 – интеграция с OpenStack
– Управление при помощи TripleO, Heat, Ansible и
т.д.
● https://github.com/stackforge/kolla