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

Post on 14-Jan-2015

1067 Views

Category:

Technology

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

Transcript

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

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

ilyaalekseyev@acm.org

ведущий:

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

#  

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

#  

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

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

#  

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

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

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

#  

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

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

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

#  

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

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

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

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

#  

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

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

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

#  

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

#  

Что такое OpenStack

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

#  

Что такое OpenStack

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

#  

Что такое OpenStack

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

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

#  

Что такое OpenStack

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

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

#  

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

#  

Архитектура

#  

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

#  

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

#  

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

#  

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

#  

Keystone

#  

Keystone

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

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

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

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

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

#  

Keystone

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

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

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

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

#  

Keystone

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

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

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

#  

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

#  

Nova

#  

Nova

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

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

#  

Nova

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

инстансов

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

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

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

#  

Nova

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

#  

Nova

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

#  

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

#  

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

#  

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

#  

Swift

#  

Swift

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

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

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

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

#  

Swift

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

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

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

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

#  

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

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

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

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

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

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

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

#  

Swift

#  

Swift

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

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

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

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

#  

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

#  

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

#  

Cinder

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

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

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

#  

Cinder

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

размера

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

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

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

#  

Cinder

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

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

#  

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

#  

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

#  

Glance

#  

Glance

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

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

#  

Glance

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

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

#  

Glance

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

•  bare •  OVF •  aki •  ari •  ami

#  

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

#  

Neutron

#  

Neutron

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

#  

Neutron

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

Platform •  NEC OpenFlow Plugin •  …

#  

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

#  

Ceilometer

#  

Ceilometer

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

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

#  

Ceilometer

#  

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

#  

Heat

#  

Heat

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

#  

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", …

#  

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

#  

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

#  

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

#  

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

#  

Сообщество

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

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

#  

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

#  

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

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

#  

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

#  

#  

Планируем

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

#  

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

Вопросы?

top related