OpenStack. Практическое знакомство с облачной операционной системой
Покупка
Новинка
Тематика:
Другие операционные системы
Издательство:
ДМК Пресс
Год издания: 2018
Кол-во страниц: 306
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-97060-652-0
Артикул: 833970.01.99
Доступ онлайн
В корзину
Книга знакомит читателя с основными сервисами облачной операционной системы OpenStack на начало 2018 года (версия Queens). Рассмотрены вопросы интеграции OpenStack и системы работы с контейнерами Docker, программно-определяемой системы хранения данных Ceph, настройки производительности и высокой доступности сервисов. В четвертое издание добавлен материал по работе с сетью, настройками производительности и отказоустойчивости. В связи с переходом на сервис Gnocchi переработана глава, посвященная сервису телеметрии. Издание рассчитано на ИТ-специалистов (системных и сетевых администраторов, а также администраторов систем хранения данных), желающих познакомиться с де-факто стандартом в области открытых продуктов построения облачной инфраструктуры типа IaaS - OpenStack.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Операционные системы и программы-оболочки
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Маркелов А. А. OpenStack. Практическое знакомство с облачной операционной системой Четвертое издание, дополненное и исправленное Москва, 2018
УДК 004.738.5:004.451.9OpenStack ББК 32.971.3 М25 М25 Маркелов А. А. OpenStack. Практическое знакомство с облачной операционной системой / 4-е изд., доп. и исправ. – М.: ДМК Пресс, 2018. – 306 с.: ил. ISBN 978-5-97060-652-0 Книга знакомит читателя с основными сервисами облачной операционной системы OpenStack на начало 2018 года (версия Queens). Рассмотрены вопросы интеграции OpenStack и системы работы с контейнерами Docker, программно-определяемой системы хранения данных Ceph, настройки производительности и высокой доступности сервисов. В четвертое издание добавлен материал по работе с сетью, настройками производительности и отказоустойчивости. В связи с переходом на сервис Gnocchi переработана глава, посвященная сервису телеметрии. Издание рассчитано на ИТ-специалистов (системных и сетевых администраторов, а также администраторов систем хранения данных), желающих познакомиться с де-факто стандартом в области открытых продуктов построения облачной инфраструктуры типа IaaS – OpenStack. УДК 004.738.5:004.451.9OpenStack ББК 32.972.53 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. © Маркелов А. А., 2018. ISBN 978-5-97060-652-0 © Оформление, издание, ДМК Пресс, 2018
Оглавление Предисловие .................................................................................................... 7 Благодарности .................................................................................................................7 Об авторе ...........................................................................................................................7 Рецензенты ...................................................................................................................... 8 Предполагаемая аудитория ...................................................................................... 8 О чем эта книга .............................................................................................................. 9 Что нового во втором, третьем и четвертом изданиях? ..............................12 Что вам необходимо помимо книги ....................................................................13 Глава 1. Введение в OpenStack ...................................................................15 Что такое облачная инфраструктура? .................................................................15 Что такое облачные приложения?........................................................................17 История OpenStack .....................................................................................................18 Архитектура OpenStack .............................................................................................20 Гипервизор KVM и эмулятор QEMU .....................................................................23 Дистрибутивы OpenStack .........................................................................................25 Глава 2. Настройка лабораторного окружения OpenStack ....................29 Подготовка CentOS 7 к использованию дистрибутива OpenStack RDO ....35 Отличия RDO от «Upstream» ...................................................................................39 Как установить OpenStack RDO одной командой? ........................................39 Как установить OpenStack одной командой из исходных кодов? ..........43 Как определить, какую версию OpenStack я использую? ..........................45 Установка и настройка брокера сообщений ....................................................46 Установка и настройка базы данных ...................................................................50 Переход на использование утилиты OpenStackClient .................................51 Глава 3. Сервис идентификации Keystone ................................................53 Терминология Keystone.............................................................................................53 Установка и настройка Keystone ...........................................................................54 Работа с пользователями, ролями и проектами в Keystone ......................61 Глава 4. Сервис хранения образов Glance ................................................71 Установка и настройка сервиса Glance ..............................................................73 Подготовка образов виртуальных машин .........................................................78 Работаем с образами виртуальных машин ......................................................83
Оглавление Глава 5. Сервис блочного хранилища Cinder ...........................................87 Архитектура Cinder .....................................................................................................87 Настройка сервисов Cinder .....................................................................................89 Создание и удаление томов Cinder ......................................................................95 Глава 6. Объектное хранилище Swift ........................................................98 Архитектура Swift ........................................................................................................99 Подготовка дополнительных серверов лабораторного окружения .... 101 Установка сервиса Swift-proxy ............................................................................ 103 Установка узлов хранения Swift ........................................................................ 104 Создание сервисных колец Swift ....................................................................... 108 Завершение настройки .......................................................................................... 110 Работа с сервисом Swift ........................................................................................ 111 Настройка Swift в качестве хранилища для Glance ................................... 113 Рекомендации по поиску неисправностей в сервисах Swift ................. 115 Глава 7. Контроллер и вычислительный узел Nova ...............................117 Архитектура Nova ......................................................................................................117 Установка контроллера Nova............................................................................... 118 Установка вычислительных узлов Nova ...........................................................127 Глава 8. Службы сети Neutron .................................................................. 132 Архитектура Neutron ............................................................................................... 132 Работа Neutron при создании экземпляра виртуальной машины ....... 136 Установка узла управления Neutron ................................................................ 136 Установка сетевого узла Neutron ....................................................................... 144 Установка вычислительного узла Neutron ..................................................... 148 Глава 9. Работа с виртуальными машинами из командной строки ... 152 Сеть в OpenStack ....................................................................................................... 152 Запускаем экземпляр виртуальной машины .................................................157 Добавляем к экземпляру виртуальной машины сеть ................................ 168 Моментальные снимки и резервные копии .................................................. 173 Шифрование томов Cinder ....................................................................................177 Квоты на ресурсы ..................................................................................................... 178 Зоны доступности и агрегирование вычислительных узлов в Nova ... 180 Зоны доступности в Cinder ................................................................................... 184 Живая миграция виртуальных машин ............................................................. 185 Настройка экземпляров виртуальных машин при помощи cloud-init ...................................................................................................................... 189
Оглавление 5 Глава 10. За фасадом Neutron ................................................................. 192 Виртуальный коммутатор Open vSwitch ......................................................... 192 Группы безопасности .............................................................................................. 201 Утилита для визуализации сети plotnetcfg .................................................... 203 Зеркалирование трафика на Open vSwitch для мониторинга сети в OpenStack ....................................................................................................... 204 Балансировщик нагрузки как сервис (LBaaS) ............................................... 208 Глава 11. Веб-панель управления Horizon и работа пользователя из графического интерфейса ................................................................... 211 Установка веб-интерфейса ................................................................................... 211 Работа с OpenStack в интерфейсе Horizon .................................................... 214 Глава 12. Сервис сбора телеметрии ........................................................ 221 Установка служб Gnocchi и Ceilometr управляющего узла ..................... 223 Установка службы триггеров Aodh .................................................................... 228 Установка служб вычислительного узла для отправки сообщений телеметрии .................................................................................................................. 231 Интеграция с сервисами Glance и Cinder ....................................................... 232 Работа со службой телеметрии в современных версиях OpenStack .. 233 Работа со службой телеметрии Ceilometer в версиях Newton и ранее ....238 Глава 13. Сервис оркестрации Heat ........................................................ 243 Архитектура сервиса ............................................................................................... 244 Установка сервисов Heat ....................................................................................... 244 Запуск простого стека............................................................................................. 248 Глава 14. Контейнеры и OpenStack ......................................................... 254 Краткое знакомство с Docker .............................................................................. 254 Совместное использование Docker и OpenStack ........................................ 255 Настройка работы драйвера Docker для OpenStack Nova .......................257 Глава 15. Программно-определяемая система хранения данных Ceph ............................................................................................... 263 Архитектура Ceph ..................................................................................................... 265 Быстрая установка кластера Ceph при помощи ceph-deploy ................. 270 Установка кластера ceph вручную ..................................................................... 274 Интеграция Ceph с сервисами OpenStack ...................................................... 279 Глава 16. Отказоустойчивость и производительность OpenStack ......287 Обзор способов обеспечения высокой доступности сервисов облака ....287 Выделение вычислительных ресурсов ............................................................ 290
Оглавление Выделение оперативной памяти ....................................................................... 291 Повышение производительности виртуальных машин ............................ 293 Повышение производительности сети ............................................................ 298 Определение аппаратных требований к оборудованию......................... 299 Заключение ................................................................................................. 300 Приложение 1. Пример правил брандмауэра, реализующих группы безопасности на вычислительном узле ................................... 301 Приложение 2. Листинг шаблона Heat ................................................... 304 Запуск одной виртуальной машины – test-server.yml ............................... 304 Приложение 3. Список основных используемых службами OpenStack сетевых портов ............................................................................305
Предисловие Благодарности В первую очередь я хочу поблагодарить мою жену Лену за терпение и поддержку, проявленные во время написания этой книги и доработки текста для новых изданий. Также хотелось бы поблагодарить рецензентов этой книги – Антона Арапова и Артемия Кропачева, благодаря ценным замечаниям которых данная книга стала значительно лучше и избавилась от многих неточностей и опечаток. Автор приносит благодарность читателям предыдущих изданий, приславшим свои замечания и исправления: Александру Румянцеву, Владимиру Манькову, Владимиру Белых, Илье Дорохову, Олегу Бабкину, Ильназу Тарханову и Евгению Дос. Об авторе Андрей Маркелов имеет более чем десятилетний опыт преподавания как авторских курсов, так и авторизированных курсов по ИТ- технологиям таких компаний, как Red Hat и Microsoft. В настоящее время автор работает в качестве старшего менеджера по архитектуре компании Ericsson, специализируясь на облачных технологиях и инфраструктуре виртуализации сетевых функций (NFV-I). До этого работал в качестве старшего системного архитектора в компании Red Hat, а также в крупных системных интеграторах России, получив более чем десятилетний опыт продаж, проектирования и внедрения сетевых и инфраструктурных решений. Около шестидесяти публикаций в отечественных ИТ-журналах («Системный администратор», «Linux Format», «PC Week» и др.). Кроме того, является автором книги «Certified OpenStack Administrator Study Guide», вышедшей в 2016 году в издательстве Apress. Андрей является сертифицированным архитектором Red Hat (RHCA Level XI) с 2009 года и имеет сертификаты Red Hat в таких технологиях, как OpenStack, OpenShift, RHV, CloudForms, Ansible, Cloud Storage, настройка производительности, безопасности Linux-систем и др.
Предисловие Кроме того, автор имеет сертификаты Microsoft Certified System Engineer, Sun Certified System Administrator, Novell Certified Linux Professional, Linux Professional Institute Certification (LPIC-1), Mirantis Certified OpenStack Administrator, OpenStack Foundation Certified OpenStack Administrator и Cisco Certified Network Associate. Блог автора располагается по адресу http://markelov.blogspot.ru/. Его twitter-аккаунт: @amarkelov. Рецензенты Антон Арапов – руководит командой, ответственной за развитие инфраструктурных проектов в компании Acision. Помогает клиентам полностью раскрыть потенциал мобильных каналов передачи данных, а также является ответственным за эволюционное развитие сервисов в сетях LTE 4G и проекты, способствующие ускорению возврата инвестиций. Сегодня технологии виртуализации выступают основным средством для достижения поставленных целей. До Acision Антон руководил группой разработки виртуализации в ядре Linux в компании Red Hat. Антон является экспертом в технологиях виртуализации и их применении. Артемий Кропачев – DevOps-архитектор в компании Bell Integrator. Артемий занимается проектированием и внедрением облачных решений и систем автоматизации инфраструктуры и процессов разработки и тестирования (DevOps), построенных на базе Linux, AWS, OpenStack, OpenShift, Chef и т. п. Артемий – сертифицированный архитектор Red Hat (RHCA Level XII) по направлениям Datacenter, Cloud и DevOps. До Bell Integrator работал системным архитектором в ICL Services. Предполагаемая аудитория Данная книга рассчитана на ИТ-специалистов (системных и сетевых администраторов, а также администраторов систем хранения данных), желающих познакомиться с де-факто стандартом в области открытых продуктов построения облачной инфраструктуры типа IaaS – OpenStack. По аналогии с минимальными требованиями программного обеспечения к среде выполнения эта книга также предъявляет минимальные требования к читателю.
О чем эта книга 9 В первую очередь это желание разобраться с описываемым продуктом. Садясь за рукопись, я старался сделать книгу как можно более ориентированной на практическую работу. Лучше всего усваивается материал, который вы отработали собственными руками в лабораторном окружении. Единственной чисто теоретической главой в книге является первая, посвященная архитектуре продукта. Все остальные главы включают в себя обязательные практические упражнения. Отсюда следует, что, прежде чем приступать к изучению продукта, написанного в первую очередь под Linux и для Linux, вам необходимы навыки работы с операционной системой. Умение работать в командной строке и знание базовых команд обязательны. Также важными будут умение самостоятельно решать задачи и навык решения проблем – один из основных навыков хорошего ИТ-специалиста-практика. Автор сознательно старался сделать изложение большей части материала никак не привязанной к конкретным версиям операционной системы и дистрибутива OpenStack. Но почти наверняка к тому моменту, как книга доберется до вас, выйдет следующая версия OpenStack, и вы, естественно, захотите воспроизвести упражнения на актуальной версии. Также небольшие детали могут отличаться в зависимости от вашего любимого дистрибутива GNU/Linux, версии и дистрибутива OpenStack. В первую очередь это расположение конфигурационных файлов, особенности организации репозиториев с пакетами, названия пакетов и т. п. Ну и, естественно, от ошибок и опечаток никто не застрахован, включая вашего покорного слугу. О чем эта книга Книга состоит из шестнадцати глав и знакомит читателя с основными сервисами облачной операционной системы OpenStack. Кроме того, рассмотрены вопросы интеграции OpenStack и системы работы с контейнерами Docker, программно-определяемой системы хранения данных Ceph, настройки производительности и высокой доступности сервисов. Глава 1. Введение в OpenStack Первая глава вводит читателя в предметную область облачных вычислений. Дается представление об облачных, горизонтально масштабируемых приложениях, их отличи-
Предисловие ях от вертикально масштабируемых, традиционных приложений. Рассказывается об истории создания OpenStack, его основных компонентах и основных дистрибутивах, присутствующих в настоящий момент на рынке. Глава 2. Настройка лабораторного окружения OpenStack В данной главе рассказывается о подготовке виртуальных машин тестового окружения к установке компонентов OpenStack. Рассматриваются рекомендуемые настройки сети дистрибутива GNU/Linux CentOS 7, подключение репозиториев OpenStack RDO, установка и настройка требуемых для OpenStack компонентов. Глава 3. Сервис идентификации Keystone В этой главе обсуждаются концепции и терминология сервиса идентификации OpenStack, а также читатель знакомится с Keystone на практике. Читатель установит и настроит ключевой сервис облачной операционной системы и заложит фундамент для настройки остальных служб. Глава 4. Сервис хранения образов Glance Четвертая глава посвящена настройке каталога образов виртуальных машин. Читатель познакомится с концепциями и настройкой сервиса Glance. К концу отработки материала главы в лабораторном окружении должен появиться каталог образов с загруженным шаблоном для создания виртуальных машин. Глава 5. Сервис блочного хранилища Cinder В данной главе читатель познакомится с тем, как создать блочное хранилище, которое будут использовать запущенные экземпляры виртуальных машин. Настройка этого опционального сервиса позволит виртуальным машинам сохранять данные между перезагрузками. Глава 6. Объектное хранилище Swift В главе рассматриваются настройка и работа с одним из двух исторически первых сервисов OpenStack – объектным хранилищем Swift. Рассматриваются концепции и архитектура сервиса, а также его установка и настройка. Глава 7. Контроллер и вычислительный узел Nova В данной главе рассматриваются установка одного из самых важных сервисов OpenStack, непосредственно зани-
О чем эта книга 11 мающихся управлением виртуальными машинами. В ходе практических упражнений мы добавим два вычислительных узла в наше лабораторное окружение. Глава 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. Контейнеры и OpenStack В четырнадцатой главе мы кратко познакомимся с технологией контейнеров и тем, как она используется совместно с OpenStack. Глава 15. Программно-определяемая система хранения данных Ceph Рассматриваются установка и интеграция программной СХД Ceph, которая становится для OpenStack «выбором по умолчанию» во многих новых инсталляциях. Глава 16. Отказоустойчивость и производительность OpenStack В этой главе автор дает обзорный материал о том, какими методами обеспечивается высокая доступность сервисов OpenStack, и рассматривает вопросы настройки производительности. Что нового во втором, третьем и четвертом изданиях? Текст книги расширен и обновлен, чтобы соответствовать актуальным версиям рассматриваемых проектов и компонент OpenStack на начало 2018 года. Ниже приведены некоторые изменения четвертого издания, по сравнению с третьим: Обновлены главы, посвященные основным сервисам OpenStack, в соответствии с изменениями на начало 2018 года (версия Queens). Добавлен материал в главах, посвященных работе с сетью, настройками производительности и отказоустойчивости. Переработана глава, посвященная сервису телеметрии, в связи с переходом на сервис Gnocchi. Примеры большинства команд обновлены с использованием клиента командной строки openstack.
Что вам необходимо помимо книги 13 Изменения третьего издания, по сравнению со вторым: Обновлены главы, посвященные основным сервисам OpenStack, в соответствии с изменениями на начало 2017 года (версия Newton). Переработана глава, посвященная сервису идентификации Keystone. Расширены главы, посвященные сервису сети Neutron и порядку работы с виртуальными машинами из командной строки. Значительно переработана глава, посвященная сервису телеметрии, в соответствии с тем, что сервис оповещения (Aodh) выделен в отдельный проект. Изменения второго издания, по сравнению с первым: Добавлена глава, посвященная программно-определяемой системе хранения данных Ceph и использованию Ceph совместно с OpenStack. Расширен и переработан материал по работе с виртуальными машинами и сетью (агрегация узлов, зоны доступности, живая миграция, создание образов виртуальных машин, работа с сетью и многое другое). С целью лучшей структуризации материал разбит на две отдельные главы. При описании настройки тестового окружения разделены управляющий, сетевой и вычислительный узлы, что позволяет нагляднее познакомиться с типичными ролями серверов при развертывании OpenStack. Значительно переработан материал по работе сети в OpenStack. Вопросы производительности и отказоустойчивости сервисов OpenStack выделены в отдельную главу. Добавлено более пятнадцати новых иллюстраций и снимков с экрана. Что вам необходимо помимо книги Поскольку книга называется «Практическое введение», автор подразумевает, что читатель будет не просто читать книгу, а, следуя
Предисловие за изложением материала, воспроизводить представленные примеры в лабораторном окружении. Помимо самой книги, вам понадобится персональный компьютер с минимальным объемом оперативной памяти 8 Гб (желательно 16 Гб) и системой виртуа- лизации по вашему выбору. Автор во время написания книги и тес тирования примеров использовал Ubuntu Linux с гипервизо- ром KVM, но эта информация приведена лишь в качестве примера. Любая современная система виртуализации поддерживает GNU/ Linux – фундамент облака OpenStack. Конечно, никто не мешает использовать и физическое «железо». Вам также потребуется доступ в Интернет для обращения к репозиториям с обновлениями и пакетами OpenStack, а также скачанный ISO-образ дистрибутива CentOS 7.
Доступ онлайн
В корзину