cоздаем облачную среду на базе open-sourсe решения openstack

71
Cоздаем облачную среду на базе open-sourсe решения OpenStack Илья Алексеев 24 октября 2013 [email protected] ведущий:

Upload: skillfactory

Post on 14-Jan-2015

1.074 views

Category:

Technology


9 download

DESCRIPTION

Илья Алексеев, контрибьютор проекта OpenStack – об архитектуре решения и о том, как начать работу с одной из самых популярных в мире открытых платформ для построения частных и публичных облачных инфраструктур.

TRANSCRIPT

Page 1: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Cоздаем облачную среду на базе open-sourсe решения OpenStack

Илья Алексеев 24 октября 2013

[email protected]

ведущий:

Page 2: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 3: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 4: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Что такое облака

Облачные вычисления это модель предоставления повсеместного и удобного сетевого доступа к общему пулу конфигурируемых вы ч и с л и т е л ь ны х р е с у р с о в (например , сетей , серверов , систем хранения, приложений и сервисов), которые могут быть б ы с т р о п р е д о с т а в л е н ы и освобождены с минимальными усилиями по управлению и необходимостью взаимодействия с провайдером услуг. The NIST Definition of Cloud Computing

#  

Page 5: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Что такое облака

5 характеристик:

1.  Самообслуживание по запросу 2.  Свободный сетевой доступ 3.  Пул ресурсов 4.  Быстрая эластичность 5.  Измеримый сервис The NIST Definition of Cloud Computing

#  

Page 6: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Что такое облака

Модели услуг:

1.  Инфраструктура как сервис (IaaS) 2.  Платформа как сервис (PaaS) 3.  ПО как сервис (SaaS) The NIST Definition of Cloud Computing

#  

Page 7: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Что такое облака

Модели развертывания:

1.  Частное облако (Private Cloud) 2.  Публичное облако (Public Cloud) 3.  Облако сообщества (Community

Cloud) 4.  Гибридное облако (Hybrid Cloud) The NIST Definition of Cloud Computing

#  

Page 8: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Что такое облака

Модели услуг:

1.  Инфраструктура как сервис (IaaS) 2.  Платформа как сервис (PaaS) 3.  ПО как сервис (SaaS)

#  

Page 9: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 10: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Что такое OpenStack

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

#  

Page 11: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Что такое OpenStack

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

#  

Page 12: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Что такое OpenStack

Состоит Из основных проектов принятых OpenStack Foundation:

•  Keystone •  Glance •  Nova •  Swift •  Neutron •  Horizon •  Heat •  Ceilometer •  Проектов в инкубации •  Community проектов

#  

Page 13: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Что такое OpenStack

Создан По инициативе компании Rackspace и агентства NASA в июне 2011 года из двузх проектов: •  Nova – контроллер вычислительных

ресурсов •  Swift – объектное хранилище

#  

Page 14: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Cinder 7.  Проект Swift 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 15: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Архитектура

#  

Page 16: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Архитектура – Асинхронность

#  

Page 17: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Архитектура – База данных

#  

Page 18: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Архитектура – Очередь сообщений

#  

Page 19: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 20: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Keystone

#  

Page 21: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Keystone

Сервис предоставляет единую точку для управления доступом к сервисам предоставляемым облаком OpenStack.

Основные понятия: •  Пользователь (User) – учетная

запись ассоциированная с пользователем системы

•  Проект (Tenant) – логическая группа доступных ресурсов

•  Роль (Role) – набор политик доступа к ресурсам

#  

Page 22: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Keystone

Функциональность: •  Идентификация пользователя •  Управление токенами доступа •  Каталог точек доступа для

сервисов •  Управление политиками

доступа к ресурсам

В стадии реализации контроль доступа к определенным действиям с ресурсами на основе ролей.

#  

Page 23: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Keystone

Демоны, утилиты и библиотеки: keystone-all – единый демон для всех сервисов keystone

keystone-manage – утилита для управления keystone

python-keystoneclient – клиентсткая библиотека для работы с keystone

#  

Page 24: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 25: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Nova

#  

Page 26: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Nova

С е р в и с д л я у п р а в л е н и я ж и з н е н н ы м ц и к л о м вы ч и с л и т е л ь ны х р е с у р с о в (виртуальных и физических серверов) Основные понятия: Образ – типовой диск сервера с установленной ОС и программным обеспечением Инстанс – виртуальный или физический сервер на базе образа

Т и п и н с т а н с а - ш а б л о н выделяемых на инстанс ресурсов

#  

Page 27: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Nova

Функциональность: •  Управление жизненным циклом

инстансов

•  Управление (через Neutron или через собственный сервис сетью)

•  Управление подключением дисков к инстансу

•  Управление распределением инстансов по физическим хостам

#  

Page 28: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Nova

Жизненный цикл инстанса: •  Создание •  Эксплуатация •  Остановка/повторный запуск •  Перезагрузка •  Уничтожение

#  

Page 29: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Nova

Поддерживаемые гипервизоры: •  Baremetal •  Hyper-V •  KVM •  QEMU •  XEN •  VmWare ESXi •  UML •  LXC •  PowerVM

#  

Page 30: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Nova – упрощенная архитектура

#  

Page 31: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Nova Демоны, утилиты и библиотеки: nova-api – демон для обслуживания обращений через API (OS, EC2, …) nova-compute – демон управления ресурсами nova-scheduler – демон распределения инстансов по физическим хостам nova-network – демон управления сетью nova-manage – утилита управления nova nova – клиентсткая утилита для взаимодействия через OS API python-novaclient – библиотека для работы с nova

#  

Page 32: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 33: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Swift

#  

Page 34: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Swift

Облачное распределенное избыточное объектное хранилище.

Доступ к объектам осуществляется через REST API.

Основные понятия: Объект – аналог файла в файловой системе. Минимальная единица хранения.

Контейнер – аналог именованной корневой папки.

#  

Page 35: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Swift

Функциональность: •  Избыточное распределенное

хранение объектов

•  Контроль доступа к объектам •  Репликация •  Способность к

самовосстановлению

#  

Page 36: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Swift •  Прокси сервера: обработчики

API запросов •  Кольцо: Отображение

аккаунтов, контейнеров и объектов на конкретные физические файлы на серверах

•  Зоны: группы серверов •  Партиции: наборы хранимых

данных •  Аудиторы: сервисы проводящие

проверку данных •  Репликаторы: сервисы

проводящие репликацию данных

#  

Page 37: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Swift

#  

Page 38: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Swift

Демоны, утилиты и библиотеки: swift-account-server – демон аккаунт сервера

swift-container-server – демон сервера контейнеров

swift-object-server – демон сервера объектов

swift-proxy-server – демон прокси сервера swift – клиентская утилита python-swiftclient – клиентская библиотека для работы со swift

#  

Page 39: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 40: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Архитектура – Cinder

#  

Page 41: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Cinder

Сервис для управления жизненным циклом блочных устройств хранения (дисками) и созданием резервных копий.

Основные понятия: Диск (Volume) – блочное устройство подключаемое к инстансу

Снимок(Snapshot) – резервная копия диска.

#  

Page 42: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Cinder

Функциональность: •  Создание дисков заданного

размера

•  Уничтожение дисков заданного размера

•  Создание снимков с дисков •  Предоставление информации о

доступе к дискам для OpenStack Nova

#  

Page 43: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Cinder

Поддерживаемые системы хранения: •  LVM •  NetApp •  Nexenta •  Zadara Storage •  GlusterFS •  GPFS •  …

Подробнее: https://wiki.openstack.org/wiki/CinderSupportMatrix

#  

Page 44: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Cinder Демоны, утилиты и бибилиотеки: cinder-api – демон обращений к API cinder-scheduler – планировщик выделения ресурсов на физических хостах cinder-volume – управление ресурсами на хосте cinder-manage – утилита управления Cinder python-cinderclient – клиентская библиотека для работы с Cinder

#  

Page 45: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 46: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Glance

#  

Page 47: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Glance

Сервис управления образами серверов

Образ представляет собой типовой диск сервера упакованный в какой-либо контейнер

#  

Page 48: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Glance

Поддерживаемые форматы дисков:

•  raw •  vhd •  vmdk •  qcow2 •  vdi •  iso

#  

Page 49: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Glance

Поддерживаемые форматы контейнеров:

•  bare •  OVF •  aki •  ari •  ami

#  

Page 50: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 51: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Neutron

#  

Page 52: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Neutron

Сервис управления сетями Позволяет создавать внутренние сети и задавать внешние (для облака) сети. Позволяет подключать сетевые карты инстансов к определенным сетям Позволяет создавать виртуальные маршрутизаторы и управлять поддерживаемыми

#  

Page 53: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Neutron

Поддерживает: •  OpenVSwitch •  LinuxBridge •  Cisco UCS/Nexus •  Nicira Network Virtualization

Platform •  NEC OpenFlow Plugin •  …

#  

Page 54: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 55: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Ceilometer

#  

Page 56: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Ceilometer

Сервис позволяет собирать метрики от различных проектов и гипервизора.

Может использоваться как система пребиллинга.

#  

Page 57: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Ceilometer

#  

Page 58: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 59: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Heat

#  

Page 60: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Heat

Сервис позволяет выделять ресурсы в соответствии с заданными шаблонами. Поддерживает формат шаблонов AWS Cloud Formation и собственный формат шаблонов.

#  

Page 61: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Heat – пример шаблона { "AWSTemplateFormatVersion" : "2010-09-09", "Parameters" : { "KeyName" : { "Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instance", "Type" : "String" } }, "Resources" : { "MyInstance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "KeyName" : { "Ref" : "KeyName" }, "ImageId" : "F17-x86_64-cfntools", "InstanceType": "m1.small", …

#  

Page 62: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 63: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Архитектура – Horizon

#  

Page 64: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Архитектура – Horizon

#  

Page 65: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 66: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Сообщество

Сообщество объединяет: •  230 компаний •  12154 индивидульных члена

Россия занимает 7 место в TOP 10

#  

Page 67: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Сообщество - Компании

#  

Page 68: Cоздаем облачную среду на базе open-sourсe решения OpenStack

Онлайн ресурсы

Англоязычные: http://www.openstack.org http://wiki.openstack.org http://ask.openstack.org http://docs.openstack.org Русскоязычные: http://www.openstack.ru http://www.oscloud.ru Группы в социальных сетях

#  

Page 69: Cоздаем облачную среду на базе open-sourсe решения OpenStack

План 1.  Что такое облака 2.  Что такое OpenStack 3.  Высокоуровневая архитектура 4.  Проект Keystone 5.  Проект Nova 6.  Проект Swift 7.  Проект Cinder 8.  Проект Glance 9.  Проект Neutron 10. Проект Ceilometer 11. Проект Heat 12. Проект Horizon 13. Сообщество и онлайн ресурсы 14. Что будет дальше?

#  

Page 70: Cоздаем облачную среду на базе open-sourсe решения OpenStack

#  

Планируем

Вебинар с демонстрацией развертывания в начале ноября 2013 года. Следите за анонсами.

Page 71: Cоздаем облачную среду на базе open-sourсe решения OpenStack

#  

Спасибо за внимание!

Вопросы?