OpenStack: практическое знакомство с облачной операционной системой
Покупка
Тематика:
Программы-оболочки
Издательство:
ДМК Пресс
Год издания: 2016
Кол-во страниц: 248
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-386-4
Артикул: 634677.02.99
В данной книге описана облачная операционная система OpenStack, которая пользуется поддержкой более двух сотен компаний, включая практически всех лидеров ИТ-рынка. Книга, помимо теоретических знаний, содержит множество практических упражнений и, следуя изложению материала, читатель сможет развернуть собственный стенд для тестирования возможностей облака. В 16-ти главах читатель познакомится с основными сервисами облачной операционной системы OpenStack. Рассмотрены такие компоненты, как сервис идентификации пользователей, сервисы построения объектного хранилища (Swift), блочного (Glance), хранилища образов. В главе, посвященной сетевым службам, рассматриваются концепции программ но-определяемой сети, работа с OpenStack Neutron и Open vSwitch. Также рассматриваются сервис мониторинга Ceilometer, сервис оркестрации Heat и принципы обеспечения высокой доступности облака. Кроме того, одна из глав посвящена интеграции OpenStack и системы управления контейнерами Docker.
Во втором издании текст книги обновлен, чтобы соответствовать актуальным версиям рассматриваемых компонент OpenStack, а объем книги увеличен более чем на треть за счет добавления нового материала (Ceph, работа с сетью и т. д.). Издание рассчитано на ИТ-специалистов (системных и сетевых администраторов, а также администраторов систем хранения данных), желающих познакомиться с де-факто стандартом в области открытых продуктов построения облачной инфраструктуры.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
OpenStack Практическое знакомство с облачной оПерационной системой Второе издание, переработанное и дополненное Андрей Маркелов Москва, 2016
УДК 004.738.5:004.451.9OpenStack ББК 32.972.53 М26 Маркелов А.А. М26 OpenStack: практическое знакомство с облачной операционной системой. – 2-е изд., перераб. и доп. – М.: ДМК Пресс, 2016. – 248 с.: ил. ISBN 978-5-97060-386-4 В данной книге описана облачная операционная система OpenStack, которая пользуется поддержкой более двух сотен компаний, включая практически всех лидеров ИТ-рынка. Книга, помимо теоретических знаний, содержит множество практических упражнений и, следуя изложению материала, читатель сможет развернуть собственный стенд для тестирования возможностей облака. В 16-ти главах читатель познакомитсясосновнымисервисамиоблачнойоперационнойсистемыOpenStack. Рассмотрены такие компоненты, как сервис идентификации пользователей, сервисы построения объектного хранилища (Swift), блочного (Glance), хранилища образов. В главе, посвященной сетевым службам, рассматриваются концепции программно-определяемой сети, работа с OpenStack Neutron и Open vSwitch. ТакжерассматриваютсяcервисмониторингаCeilometer,cервисоркестрацииHeat и принципы обеспечения высокой доступности облака. Кроме того, одна из глав посвящена интеграции OpenStack и системы управления контейнерами Docker. Во втором издании текст книги обновлен, чтобы соответствовать актуальным версиям рассматриваемых компонент OpenStack, а объем книги увеличен более чем на треть за счет добавления нового материала (Ceph, работа с сетью и т. д.). Издание рассчитано на ИТ-специалистов (системных и сетевых админист раторов, а также администраторов систем хранения данных), желающих познакомиться с де-факто стандартом в области открытых продуктов построения облачной инфраструктуры. УДК 004.738.5:004.451.9OpenStack ББК 32.972.53 Все права защищены. Любая часть этой книги не может быть воспроиз ведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но по скольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. © Маркелов А., 2016 ISBN 978-5-97060-386-4 © Оформление, ДМК Пресс, 2016
содержание Предисловие............................................................. 6 Глава.1..Введение.в.OpenStack....................................12 Что такое облачная инфраструктура? .........................................................12 Что такое облачные приложения? ................................................................14 История OpenStack ............................................................................................15 Архитектура OpenStack ....................................................................................17 Гипервизор KVM и эмулятор QEMU ..........................................................20 Дистрибутивы и сборки OpenStack ..............................................................22 Глава.2..Настройка.лабораторного.окружения.. OpenStack................................................................26 Подготовка CentOS 7 к использованию дистрибутива OpenStack RDO ...................................................................................................31 Отличия RDO от «Upstream» .........................................................................34 Как установить OpenStack RDO одной командой? ................................35 Как установить OpenStack одной командой из исходных кодов? .....37 Как определить, какую версию OpenStack я использую? ....................38 Установка и настройка брокера сообщений ...............................................39 Переход на использование утилиты OpenStackClient ...........................43 Глава.3..Сервис.идентификации.Keystone......................45 Терминология Keystone ....................................................................................45 Установка и настройка Keystone....................................................................46 Настройка Keystone в OpenStack Mitaka при помощи Apache...........49 Работа с пользователями, ролями и проектами в Keystone .................51 Глава.4..Сервис.хранения.образов.Glance......................58 Установка и настройка сервиса Glance ........................................................59 Подготовка образов виртуальных машин ..................................................64 Работаем с образами виртуальных машин .................................................68 Глава.5..Сервис.блочного.хранилища.Cinder...................72 Архитектура Cinder ............................................................................................72 Настройка сервисов Cinder .............................................................................74 Глава.6..Объектное.хранилище.Swift.............................83 Архитектура Swift ...............................................................................................84 Подготовка дополнительных серверов лабораторного окружения .....86 Установка сервиса Swift-proxy .......................................................................88 Установка узлов хранения Swift ....................................................................88
Содержание Создание сервисных колец Swift ...................................................................92 Завершение настройки ......................................................................................94 Работа с сервисом Swift ....................................................................................95 Настройка Swift в качестве хранилища для Glance ................................97 Рекомендации по поиску неисправностей в сервисах Swift ................99 Глава.7..Контроллер.и.вычислительный.узел.Nova.........100 Архитектура Nova ............................................................................................ 100 Установка контроллера Nova ....................................................................... 101 Установка вычислительных узлов Nova .................................................. 104 Глава.8..Службы.сети.Neutron....................................107 Архитектура Neutron ...................................................................................... 107 Установка узла управления Neutron ......................................................... 110 Установка сетевого узла Neutron ................................................................ 117 Установка вычислительного узла Neutron .............................................. 120 Глава.9..Работа.с.виртуальными.машинами.. из.командной.строки................................................123 Сеть в OpenStack .............................................................................................. 123 Запускаем экземпляр виртуальной машины ......................................... 127 Зоны доступности и агрегирование вычислительных узлов ............ 133 Добавляем к экземпляру виртуальной машины сеть .......................... 136 Моментальные снимки и резервные копии ............................................ 139 Зашифрованные тома ..................................................................................... 144 Квоты на ресурсы ............................................................................................. 145 Живая миграция виртуальных машин ..................................................... 147 Глава.10..За.фасадом.Neutron....................................152 Виртуальный коммутатор Open vSwitch ................................................. 152 Группы безопасности ...................................................................................... 158 Утилита для визуализации сети plotnetcfg ............................................. 160 Зеркалирование трафика на Open vSwitch для мониторинга сети в OpenStack............................................................................................... 160 Балансировщик нагрузки как сервис (LBaaS) ...................................... 164 Глава.11..Веб-панель.управления.Horizon.и.работа.. пользователя.из.графического.интерфейса.................167 Установка веб-интерфейса ............................................................................ 167 Работа с OpenStack в интерфейсе Horizon .............................................. 169 Глава.12..Сервис.сбора.телеметрии..Ceilometer............177 Установка служб управляющего узла ....................................................... 179
Содержание 5 Установка служб вычислительного узла для отправки сообщений телеметрии................................................................................... 182 Работа со службой телеметрии ................................................................... 184 Глава.13..Сервис.оркестрации.Heat............................190 Архитектура сервиса ....................................................................................... 191 Установка сервисов Heat ............................................................................... 191 Запуск простого стека .................................................................................... 194 Запуск стека, состоящего из нескольких виртуальных машин ....... 198 Глава.14..Контейнеры.Docker.и.OpenStack...................201 Краткое знакомство с Docker ....................................................................... 201 Совместное использование Docker и OpenStack .................................. 202 Настройка работы драйвера Docker для OpenStack Nova ................. 204 Глава.15..Программно-определяемая.система.. хранения.данных.Ceph..............................................210 Архитектура Ceph ............................................................................................ 212 Быстрая установка кластера Ceph при помощи ceph-deploy ............ 216 Установка кластера ceph вручную .............................................................. 220 Интеграция Ceph с сервисами OpenStack ............................................... 225 Глава16..Отказоустойчивость.и.производительность.. OpenStack..............................................................233 Обзор способов обеспечения высокой доступности сервисов облака ................................................................................................................... 233 Выделение вычислительных ресурсов ..................................................... 235 Выделение оперативной памяти ................................................................. 236 Производительность сети ............................................................................. 238 Определение аппаратных требований к оборудованию ..................... 239 Заключение............................................................240 Приложение.1..Пример.правил.брандмауэра,.. реализующих.группы.безопасности.. на.вычислительном.узле...........................................241 Приложение.2..Листинги.шаблонов.Heat......................243 Запуск одной виртуальной машины – test-server.yml ........................ 243 Развертывание WordPress на двух виртуальных машинах ............... 244 Приложение.3..Список.используемых.службами.. OpenStack.сетевых.портов........................................247
Предисловие благодарности В первую очередь я хочу поблагодарить мою жену Лену за терпение и поддержку, проявленные во время написания этой книги и доработки текста для второго издания. Также хотелось бы поблагодарить рецензентов этой книги – Антона Арапова и Артемия Кропачева, благодаря ценным замечаниям которых данная книга стала значительно лучше и избавилась от многих неточностей и опечаток. Автор приносит благодарность читателям первого издания, приславшим свои замечания и исправления: Александру Румянцеву и Владимиру Манькову. об авторе Андрей Маркелов имеет более чем десятилетний опыт преподавания как авторских курсов, так и авторизированных курсов по ИТтехнологиям таких компаний, как Red Hat и Microsoft. В настоящее время автор работает в качестве старшего менеджера по архитектуре компании Ericsson, специализируясь на облачных технологиях. До этого работал в качестве старшего системного архитектора в компании Red Hat, а также в крупных системных интеграторах России, получив более чем десятилетний опыт продаж, проектирования и внедрения сетевых и инфраструктурных решений. Около шестидесяти публикаций в отечественных ИТ-журналах («Системный администратор», «Linux Format», «PC Week» и др.). Андрей является сертифицированным архитектором Red Hat (RHCA) с 2009 года и имеет сертификаты Red Hat в таких технологиях, как OpenStack, OpenShift, RHEV, Cloud Storage, настройка производительности, безопасности Linux-систем и др. Кроме того, автор имеет сертификаты Microsoft Certified System Engineer, Sun Certified System Administrator, Novell Certified Linux Professional, Mirantis Certified OpenStack Administrator и VMware Certified Professional. Блог автора располагается по адресу: http://markelov.blogspot.ru/. Его twitter-аккаунт: @amarkelov.
Предисловие 7 рецензенты Антон Арапов – руководит командой, ответственной за развитие инфраструктурных проектов в компании Acision. Помогает клиентам полностью раскрыть потенциал мобильных каналов передачи данных, а также является ответственным за эволюционное развитие сервисов в сетях LTE 4G и проекты, способствующие ускорению возврата инвестиций. Сегодня технологии виртуализации являются основным средством для достижения поставленных целей. До Acision Антон руководил группой разработки виртуализации в ядре Linux в компании Red Hat. Антон является экспертом в технологиях виртуализации и их применении. Артемий Кропачев – старший системный архитектор в группе консалтинга по инфраструктуре центров обработки данных в компании ICL Services. Артемий обладает сертификационными статусами RHCA, RHCSS, Oracle Certified Professional in Oracle Solaris. Основная область профессиональной деятельности – проектирование и внедрение инфраструктуры облачных решений, систем виртуализации, распределенных хранилищ данных и других сервисов на базе Linux/Solaris/IBM AIX. Предполагаемая аудитория Данная книга рассчитана на ИТ-специалистов (системных и сетевых администраторов, а также администраторов систем хранения данных), желающих познакомиться с де-факто стандартом в области открытых продуктов построения облачной инфраструктуры типа IaaS – OpenStack. По аналогии с минимальными требованиями программного обеспечения к среде выполнения эта книга также предъявляет минимальные требования к читателю. В первую очередь это желание разобраться с описываемым продуктом. Садясь за рукопись, я старался сделать книгу как можно более ориентированной на практическую работу. Лучше всего усваивается материал, который вы отработали собственными руками в лабораторном окружении. Единственной чисто теоретической главой в книге является первая, посвященная архитектуре продукта. Все остальные главы включают в себя обязательные практические упражнения.
Предисловие Отсюда следует, что, прежде чем приступать к изучению продукта, написанного в первую очередь под Linux и для Linux, вам необходимы навыки работы с операционной системой. Умение работать в командной строке и знание базовых команд обязательны. Также важными будут умение самостоятельно решать задачи и навык решения проблем – один из основных навыков хорошего ИТспе циалиста – практика. Автор сознательно старался сделать изложение большей части материала никак не привязанной к конкретным версиям операционной системы и дистрибутива OpenStack. Но почти наверняка к тому моменту, как книга доберется до вас, выйдет следующая версия OpenStack, и вы, естественно, захотите воспроизвести упражнения на актуальной версии. Также небольшие детали могут отличаться в зависимости от вашего любимого дистрибутива GNU/ Linux, версии и дистрибутива OpenStack. В первую очередь это расположение конфигурационных файлов, особенности организации репозиториев с пакетами, названия пакетов и т. п. Ну и, естественно, от ошибок и опечаток никто не застрахован, включая вашего покорного слугу. Как связаться с автором и прислать информацию об ошибках, исправлениях или задать вопрос, указано в заключении, на последних страницах книги. о чем эта книга Книга состоит из шестнадцати глав и знакомит читателя с основными сервисами облачной операционной системы OpenStack. Кроме того, рассмотрены вопросы интеграции OpenStack и системы управления контейнерами Docker, программно-определяемой системы хранения данных Ceph, настройки производительности и высокой доступности сервисов. Глава 1. Введение в OpenStack. Первая глава вводит читателя в предметную область облачных вычислений. Дается представление об облачных, горизонтально масштабируемых приложениях, их отличиях от вертикально масштабируемых, традиционных приложений. Рассказывается об истории создания OpenStack, его основных компонентах и основных дистрибутивах, присутствующих в настоящий момент на рынке. Глава 2. Настройка лабораторного окружения OpenStack. В данной главе рассказывается о подготовке виртуальных машин тестового окружения к установке компонентов OpenStack. Рассматриваются рекомендуемые настройки сети дистрибутива GNU/Linux CentOS 7,
Предисловие 9 подключение репозиториев OpenStack RDO, установка и настройка требуемых для OpenStack компонентов. Глава 3. Сервис идентификации Keystone. В этой главе обсуждаются концепции и терминология сервиса идентификации OpenStack, а также читатель знакомится с Keystone на практике. Читатель установит и настроит ключевой сервис облачной операционной системы и заложит фундамент для настройки остальных служб. Глава 4. Сервис хранения образов Glance. Четвертая глава посвящена настройке каталога образов виртуальных машин. Читатель познакомится с концепциями и настройкой сервиса Glance. К концу отработки материала главы в лабораторном окружении должен появиться каталог образов с загруженным шаблоном для создания виртуальных машин. Глава 5. Сервис блочного хранилища Cinder. В данной главе читатель познакомится с тем, как создать блочное хранилище, которое будут использовать запущенные экземпляры виртуальных машин. Настройка этого опционального сервиса позволит виртуальным машинам сохранять данные между перезагрузками. Глава 6. Объектное хранилище Swift. В главе рассматриваются настройка и работа с одним из двух исторически первых сервисов OpenStack – объектным хранилищем Swift. Рассматриваются концепции и архитектура сервиса, а также его установка и настройка. Глава 7. Контроллер и вычислительный узел Nova. В данной главе рассматриваются установка одного из самых важных сервисов OpenStack, непосредственно занимающимся управлением виртуальными машинами. В ходе практических упражнений мы добавим два вычислительных узла в наше лабораторное окружение. Глава 8. Службы сети Neutron. В главе, посвященной сетевым службам, рассматриваются концепции программно-определяемой сети. Читатель познакомится с вариантами организации сетевого взаимодействия в облаке и настроит на сетевом и вычислительном узле сервис Neutron. Глава 9. Работа с виртуальными машинами из командной строки. К девятой главе читатель построит свое минимальное лабораторное окружение OpenStack. В этой главе мы рассмотрим, как на практике работать с сетями и виртуальными машинами. Глава 10. За фасадом Neutron. В этой главе кратко рассматриваются «внутренности» сетевого сервиса OpenStack, а также такие темы, как группы безопасности и виртуальный коммутатор Open vSwitch. Глава 11. Веб-панель управления Horizon и работа пользователя из графического интерфейса. Одиннадцатая глава, вероятно, самая дру
Предисловие жественная к читателю. В ней мы, наконец, встанем на место пользователя облачного сервиса и познакомимся с тем, как в графическом интерфейсе веб-консоли создать проект и запустить виртуальную машину. Глава 12. Сервис мониторинга Ceilometer. Сервис Ceilometer представляет собой централизованный источник информации по мет рикам облака и данным мониторинга. Этот компонент обеспечивает возможность биллинга для OpenStack. В данной главе читатель познакомится с настройкой Ceilometer и тем, как снимать и использовать данные телеметрии OpenStack. Глава 13. Сервис оркестрации Heat. В этой главе рассказывается о сервисе Heat – «кольце всевластия», призванном связать все компоненты облака OpenStack воедино. Читатель познакомится с шаблоном формата HOT, при помощи которого Heat может создавать большинство типов ресурсов (виртуальные машины, тома, плавающие IP, пользователи, группы безопасности и т. д.) как единое целое, обеспечивая управление жизненным циклом приложения в облачной инфраструктуре. Глава 14. Контейнеры Docker и OpenStack. В четырнадцатой главе мы кратко познакомимся с технологией контейнеров Docker и тем, как она используется совместно с OpenStack. Глава 15. Программно-определяемая система хранения данных Ceph. Рассматриваются установка и интеграция программной СХД Ceph, которая становится для OpenStack «выбором по умолчанию» во многих новых инсталляциях. Глава 16. Отказоустойчивость и производительность OpenStack. В этой главе автор дает обзорный материал о том, какими методами обеспечивается высокая доступность сервисов OpenStack, и рассматривает вопросы настройки производительности. что нового во втором издании? Текст книги обновлен, чтобы соответствовать актуальным версиям рассматриваемых проектов и компонент OpenStack по состоянию на начало 2016 года (версия Liberty), а объем книги увеличен более чем на треть. Некоторые изменения второго издания: исправлен ряд неточностей и опечаток первого издания, вышедшего в июне 2015 года; добавлена глава, посвященная программно-определяемой системе хранения данных Ceph и использованию Ceph совместно с OpenStack;