Илья Алексеев, контрибьютор проекта OpenStack – об архитектуре решения и о том, как начать работу с одной из самых популярных в мире открытых платформ для построения частных и публичных облачных инфраструктур.
Cоздаем облачную среду на базе open-sourсe решения OpenStack
1. Cоздаем облачную среду
на базе open-sourсe
решения OpenStack
ведущий:
Илья Алексеев
24 октября 2013
ilyaalekseyev@acm.org
2. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
3. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
4. Что такое облака
Облачные вычисления это модель
предоставления повсеместного и
удобного сетевого доступа к
общему пулу конфигурируемых
вычислительных ресурсов
(например, сетей, серверов,
систем хранения, приложений и
сервисов), которые могут быть
быстро предоставлены и
освобождены с минимальными
усилиями по управлению и
необходимостью взаимодействия с
провайдером услуг.
The NIST Definition of Cloud Computing
#
5. Что такое облака
5 характеристик:
1.
2.
3.
4.
5.
Самообслуживание по запросу
Свободный сетевой доступ
Пул ресурсов
Быстрая эластичность
Измеримый сервис
The NIST Definition of Cloud Computing
#
6. Что такое облака
Модели услуг:
1. Инфраструктура как сервис (IaaS)
2. Платформа как сервис (PaaS)
3. ПО как сервис (SaaS)
The NIST Definition of Cloud Computing
#
7. Что такое облака
Модели развертывания:
1. Частное облако (Private Cloud)
2. Публичное облако (Public Cloud)
3. Облако сообщества (Community
Cloud)
4. Гибридное облако (Hybrid Cloud)
The NIST Definition of Cloud Computing
#
8. Что такое облака
Модели услуг:
1. Инфраструктура как сервис (IaaS)
2. Платформа как сервис (PaaS)
3. ПО как сервис (SaaS)
#
9. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
10. Что такое OpenStack
OpenStack
глобальное объединение
разработчиков и технологов в области
облачных вычислений, создающих
облачную платформу с открытым
исходным кодом для публичных и
приватных вычислительных облаков.
#
11. Что такое OpenStack
Цель проекта
предоставление решения для простой
реализации всех типов облаков, имеющего
способность к массивному
масштабированию и обладающего богатым
функционалом.
#
12. Что такое OpenStack
Состоит
Из основных проектов принятых OpenStack
Foundation:
• Keystone
• Glance
• Nova
• Swift
• Neutron
• Horizon
• Heat
• Ceilometer
• Проектов в инкубации
• Community проектов
#
13. Что такое OpenStack
Создан
По инициативе компании Rackspace и
агентства NASA в июне 2011 года из двузх
проектов:
• Nova – контроллер вычислительных
ресурсов
• Swift – объектное хранилище
#
14. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Cinder
7. Проект Swift
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
19. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
21. Keystone
Сервис предоставляет единую
точку для управления доступом к
сервисам предоставляемым
облаком OpenStack.
Основные понятия:
• Пользователь (User) – учетная
запись ассоциированная с
пользователем системы
• Проект (Tenant) – логическая
группа доступных ресурсов
• Роль (Role) – набор политик
доступа к ресурсам
#
22. Keystone
Функциональность:
• Идентификация пользователя
• Управление токенами доступа
• Каталог точек доступа для
сервисов
• Управление политиками
доступа к ресурсам
В стадии реализации контроль
доступа к определенным
действиям с ресурсами на основе
ролей.
#
23. Keystone
Демоны, утилиты и библиотеки:
keystone-all – единый демон для
всех сервисов keystone
keystone-manage – утилита для
управления keystone
python-keystoneclient – клиентсткая
библиотека для работы с keystone
#
24. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
26. Nova
Сервис для управления
ж и з н е н н ы м ц и к л о м
вычислительных ресурсов
(виртуальных и физических
серверов)
Основные понятия:
Образ – типовой диск сервера с
установленной ОС и программным
обеспечением
Инстанс – виртуальный или
физический сервер на базе образа
Тип инстанса
- шаблон
выделяемых на инстанс ресурсов
#
27. Nova
Функциональность:
• Управление жизненным циклом
инстансов
• Управление (через Neutron или
через собственный сервис
сетью)
• Управление подключением
дисков к инстансу
• Управление распределением
инстансов по физическим
хостам
#
31. Nova
Демоны, утилиты и библиотеки:
nova-api – демон для обслуживания
обращений через API (OS, EC2, …)
nova-compute – демон управления
ресурсами
nova-scheduler – демон
распределения инстансов по
физическим хостам
nova-network – демон управления
сетью
nova-manage – утилита управления
nova
nova – клиентсткая утилита для
взаимодействия через OS API
python-novaclient – библиотека для
работы с nova
#
32. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
34. Swift
Облачное распределенное
избыточное объектное хранилище.
Доступ к объектам осуществляется
через REST API.
Основные понятия:
Объект – аналог файла в файловой
системе. Минимальная единица
хранения.
Контейнер – аналог именованной
корневой папки.
#
36. Swift
•
•
•
•
•
•
Прокси сервера: обработчики
API запросов
Кольцо: Отображение
аккаунтов, контейнеров и
объектов на конкретные
физические файлы на серверах
Зоны: группы серверов
Партиции: наборы хранимых
данных
Аудиторы: сервисы проводящие
проверку данных
Репликаторы: сервисы
проводящие репликацию
данных
#
38. Swift
Демоны, утилиты и библиотеки:
swift-account-server – демон
аккаунт сервера
swift-container-server – демон
сервера контейнеров
swift-object-server – демон сервера
объектов
swift-proxy-server – демон прокси
сервера
swift – клиентская утилита
python-swiftclient – клиентская
библиотека для работы со swift
#
39. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
41. Cinder
Сервис для управления
жизненным циклом блочных
устройств хранения (дисками) и
созданием резервных копий.
Основные понятия:
Диск (Volume) – блочное
устройство подключаемое к
инстансу
Снимок(Snapshot) – резервная
копия диска.
#
42. Cinder
Функциональность:
• Создание дисков заданного
размера
• Уничтожение дисков заданного
размера
• Создание снимков с дисков
• Предоставление информации о
доступе к дискам для
OpenStack Nova
#
44. Cinder
Демоны, утилиты и бибилиотеки:
cinder-api – демон обращений к
API
cinder-scheduler – планировщик
выделения ресурсов на
физических хостах
cinder-volume – управление
ресурсами на хосте
cinder-manage – утилита
управления Cinder
python-cinderclient – клиентская
библиотека для работы с Cinder
#
45. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
50. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
52. Neutron
Сервис управления сетями
Позволяет создавать внутренние
сети и задавать внешние (для
облака) сети.
Позволяет подключать сетевые
карты инстансов к определенным
сетям
Позволяет создавать виртуальные
маршрутизаторы и управлять
поддерживаемыми
#
54. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
58. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
60. Heat
Сервис позволяет выделять
ресурсы в соответствии с
заданными шаблонами.
Поддерживает формат шаблонов
AWS Cloud Formation и
собственный формат шаблонов.
#
62. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
65. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#
69. План
1. Что такое облака
2. Что такое OpenStack
3. Высокоуровневая архитектура
4. Проект Keystone
5. Проект Nova
6. Проект Swift
7. Проект Cinder
8. Проект Glance
9. Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?
#