Написать пост

Как управлять распределённой инфраструктурой из единой точки с помощью ManageIQ

Логотип компании КРОК

Показали, как устроен и выглядит ManageIQ и как с ним работать администраторам и рядовым пользователям.

Обложка поста Как управлять распределённой инфраструктурой из единой точки с помощью ManageIQ

Инфраструктуры многих проектов сегодня делают распределёнными. Используют несколько сред виртуализации, Kubernetes, частное облако и так далее. И чем шире разрастается такая система, тем сложнее ей управлять, обслуживать и дорабатывать. Один из способов — использовать ManageIQ.

Расскажем, как работать с этим сервисом администраторам и рядовым пользователям. В первой части поговорим про инфраструктуру и компоненты, впервые запустим ManageIQ и посмотрим на интерфейсы.

Пара слов о системе

ManageIQ, судя по информации с официальной страницы — платформа управления с открытым исходным кодом для IT-сред, которые поддерживают управление различными гипервизорами, контейнерами, частными и публичными облаками.

Сервис поддерживает все публичные облака, например, от Amazon и Google. Но при желании — и хорошем знании Ruby — можно дописать, компонент, которого нет в коробочной версии, и интегрировать свое облако. Наши специалисты в свое время допилили систему так, чтобы поддерживать облако КРОК и управлять им.

Фан-факт: версии ManageIQ называются в честь гроссмейстеров в алфавитном порядке. Текущая — Опарин.

Глобально ManageIQ состоит из двух компонентов: Appliance и база данных PostgreSQL, уже встроенная в Instance. Но при желании можно подключить свою БД и хранить все данные в ней. Тогда, если текущая инсталляция упадёт — или её нужно будет перенести на другую платформу — достаточно будет перенести базу в новый Instance. И все параметры, которые вы вносили в ManageIQ, сохранятся.

Система на английском языке. В своё время на официальном форуме велись обсуждения — и даже работы — по переводу на русский. И до сих пор можно найти темы, в которых описано, какие файлы нужно изменить для перевода. Так что при желании это можно сделать.

Документация

С ней всё не однозначно. Да, на официальном сайте есть небольшая документация. Во вкладке Get Started есть базовая информация и простые примеры работы с ManageIQ. Но подробностей мало, и вы, скорее всего, не найдёте разбор своего кейса.

Если нужны детали, лучше обратиться к книге Automation Book Питера МакГоуэна. Она хорошо описывает распространённые кейсы. Как показывает практика, люди, которые только начинают работать с системой, сразу скачивают её, а не идут на сайт.

Иногда я сталкивался с тем, что кейсы либо описаны в книге частично, либо не освещены вовсе. Приходилось идти на форум ManageIQ. Там довольно большое и активное сообщество, поэтому на ваш вопрос точно ответят в течение пары дней.

Установка и интерфейс

Установка ManageIQ простая. Достаточно скачать нужную версию шаблона виртуальной машины, инстанса или контейнера и запустить в среде виртуализации.

Если хочется поиграться, можно через Облако КРОК скачать Instance Amazon и запустить по шаблону виртуальную машину.

Теперь бегло посмотрим на интерфейс.

Виртуальная машина

Заходим на виртуальную машину, на которой развёрнут ManageIQ. Вводим команду appliance_console:

Как управлять распределённой инфраструктурой из единой точки с помощью ManageIQ 1

Попадаем в низкоуровневую конфигурацию ManageIQ.

Как управлять распределённой инфраструктурой из единой точки с помощью ManageIQ 2

Здесь можем:

  • конфигурировать параметры сети или саму сеть;
  • сделать бэкап базы данных;
  • восстановить базу данных, если например, только что перенесли её на другую виртуальную машину;
  • восстановить файлы конфигурации;
  • остановить или перезапустить процессы сервера самого ManageIQ;
  • изменить имя хоста или часовой пояс;
  • и так далее.

Веб-интерфейс

Переключаемся на веб-интерфейс ManageIQ. Заходим по адресу, вводим логин и пароль и видим количество виртуальных машин, какие гипервизоры используются, какие типы операционных систем развёрнуты и прочее.

Всё это помогает отслеживать, какие виртуальные машины потребляют сколько ресурсов. Можно кастомизировать окно, строить разные графики и так далее.

Settings

Переходим в My Settings и далее — в Application Settings:

Diagnostics

Здесь можно посмотреть логи, которые пишет ManageIQ при заказе сервисов, при выполнении каких-то действий, при самой работе.

Access Control

Уровни доступа у ManageIQ работают так:

  • Создаём роль — или выбираем из уже доступных. И галочками проставляем права, которые будут у пользователя. Например, можно скрыть доступ к Network, Storage, Control, Monitor, оставить только Services и Compute. Или из Compute убрать Clouds, Containers и оставить только Infrastructure.
Как управлять распределённой инфраструктурой из единой точки с помощью ManageIQ 3
  • Создаём группу — звено, которое связывает роль с пользователем.
  • Связываем роль с группой и добавляем в эту группу пользователя. Так, он получит права, доступные для конкретной роли. У меня один пользователь – администратор, в группе Super_administrator.
ManageIQ поддерживает внешние системы аутентификации, по крайней мере, раньше мы точно настраивали интеграцию с LDAP.

Settings

  • Server. Здесь можно ввести имя компании, посмотреть IP-адрес, выбрать роли (компоненты самого ManageIQ), которые необходимо подключить. Например, можно включить тумблер Embedded Ansible — то есть в данном Instance ManageIQ будет  использоваться ещё и встроенный Ansible. Или настроить параметры почтового сервера, через который ManageIQ отправляет верификацию или параметры для апрува заказов.
  • Authentication. Отвечает за аутентификацию и время сессии (в данном случае час). База данных у меня выбрана в виде Mode. Там используются локальные пользователи, а не подключен внешний каталог пользователей.
  • Custom Logos. Данная вкладка отвечает за кастомные логотипы. Главный экран  можно кастомизировать, заменив фон и ManageIQ на свой.
  • Advanced. Здесь находятся все параметры самого ManageIQ. Это расширенные настройки, которые не рекомендуется трогать без необходимости и четкого понимания, что вы меняете.

Services

Здесь отображаются сервисы, которые мы создаем, и которые доступны для конечного пользователя.

Как управлять распределённой инфраструктурой из единой точки с помощью ManageIQ 4

Что нас здесь интересует:

  • Каталог айтемов. В терминологии ManageIQ каждая сущность, которая доступна для заказа, называется айтемом. Здесь у меня созданы несколько айетмов по развертыванию вм с CentOS, установки Nginx и прочего.
  • Каталог сервисов. Здесь перечислены доступные сервисы. Про их создание мы подробно поговорим в следующей статье.

Compute

Это главная и самая интересная вкладка. В ней добавляются компоненты инфраструктуры. Поэтому в первую очередь вы будете работать именно с Compute, когда развернёте свою версию ManageIQ.

Для работы ManageIQ необходимо подключаться к другим системам управления, в данном случае, к гипервизорам, частным или публичным облакам. Все они в терминологии ManageIQ называются провайдерами.

  • Cloud. Это набор облачных провайдеров. У меня не добавлено ни одного, но по умолчанию система поддерживает множество. В основном те, что не особо актуальны сегодня (кроме OpenStack, который может использоваться, как частное облако).
  • Infrastructure. У меня добавлены zVirt и vSphere.
  • Physical Infrastructure. Всё понятно из названия и не так нам интересно.
  • Containers. Здесь можно добавить публичный или локальный кластер Kubernetes или OpenShift. У меня добавлен кластер Kubernetes, развёрнутый по соседству. Для его передачи необходимо передать токен пользователя, который будет выполнять аутентификацию и авторизацию.
Как управлять распределённой инфраструктурой из единой точки с помощью ManageIQ 5
Для сложных операций с контейнерами ManageIQ не очень подойдет, но как ещё один компонент, в котором можно посмотреть состояние по запущенным нодам или контейнерам, статусу или сервисам — вполне себе.

Как добавлять провайдеров

Нажимаем кнопку Configuration, выбираем «Добавить нужного провайдера» и передаём параметры. Покажу на примере с zVirt.

Это — отечественная реализация виртуализации. Она неизвестна разработчикам из ManageIQ. Но основана на oVirt, как и Red Hat Virtualization. Поэтому в типе виртуализации мы выбираем Red Hat Virtualization и передаём все параметры для подключения к самому zVirt. В данном случае у меня zVirt-менеджер dvslab, адрес, логин и пароль.

С vSphere всё проще. Мы выбираем тип VMWare, указываем имя, зону (по умолчанию это default), end-поинты, логин и пароль для доступа к API к vSphere.

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

Как управлять распределённой инфраструктурой из единой точки с помощью ManageIQ 6

Когда мы откроем zVirt, слева увидим общую информацию. Снизу — текущий статус: последний раз ManageIQ обращался 20 часов назад, credentials были валидные, всё было хорошо. Справа — количество кластеров.

Все вкладки кликабельные. Я могу нажать на Clusters и увидеть, какие кластера доступны ManageIQ с zVirt. Или посмотреть, какие хосты есть, в каком состоянии они находятся, сколько виртуальных машин, какие у них IP-адреса.

Или могу «провалиться» в саму виртуальную машину, посмотреть её имя, операционную систему статус, включена или выключена. Для виртуальных машин, которые работают на Windows, можно посмотреть, какие службы запущены.

Automation

Network и Storage – больше про вкладки облачных провайдеров. Было бы интересно, будь у нас какой-нибудь OpenStack. Но сейчас их можно пропустить и перейти к Automation.

Эта вкладка понадобится, когда вы развернёте ManageIQ. Потому что здесь вы добавляете Provider Automation. В данном случае это — Ansible Tower, платная версия от Red Hat (бесплатная называется AWX).

Чтобы добавить провайдера, нужно снова передать адрес, логин и пароль. После ManageIQ сходит в AWX, подгрузит информацию, созданные проекты, шаблоны, джобы, какие джобы когда запускались и так далее.

Какие вкладки нам здесь интересны:

  • Embedded Ansible. Это информация про работу с запуском плейбуков Ansible внутри самого ManageIQ. Чтобы ManageIQ, мог запускать плейбуки, понадобится подключить Git-репозиторий. Для этого переходим в Automation Ansible Repositories, передаём URL для Git-репозитория, выбираем credentials для доступа к нему и указываем,  из какой ветки ManageIQ необходимо скачать плейбуки.
  • Playbooks. Здесь через какое-то время после обновления появятся доступные плейбуки.
Если виртуальной машины ещё нет, но вы хотите, чтобы после её создания на ней автоматически применился плейбук. И если вы используете DHCP и не знаете, какой адрес был выдан заранее, встроенный Ansible не подойдёт. Зато с задачей отлично справится AWX, который может автоматически обновлять Inventory.
  • Dialogs. Отвечает за создание диалогов.
  • Embedded Automate. Содержит компонент Customization — он предоставляет диалоги, которые отображаются при заказе сервисов.
  • Import/Export. В ней вы можете импортировать и экспортировать созданные ранее диалоги. Кнопка Buttons отвечает за создание дополнительных кнопок.

В первой части мы поговорили про то, что такое ManageIQ и как он устроен. В следующей обсудим, как создавать сами сервисы и диалоги к ним, как управлять развёрнутой виртуальной машиной, создать bundle и автоматический сервис, который будет разворачивать виртуальную машину и применять на неё Playbook по установке PostgreSQL.

Следите за новыми постами
Следите за новыми постами по любимым темам
2К открытий3К показов