Управление многоузловым развёртыванием при помощи Rancher и Docker Machine в Ubuntu 14.04

Недавно платформа Rancher добавила поддержку Docker Machine и основанной на ней инициализации. Docker Machine позволяет быстро создавать хосты Docker на облачных провайдерах или в личных дата-центрах. Docker Machine создаёт серверы, устанавливает на них Docker и настраивает клиента Docker для взаимодействия с ними.

При помощи интеграции Machine в Rancher можно запустить ноды (или узлы) через пользовательский интерфейс Rancher. Это небольшой, но очень важный шаг в создании и управлении многоузловыми (а в будущем и многооблачными) развёртываниями при помощи одного интерфейса.

В этом руководстве показано, как запустить серверы из интерфейса Rancher и с их помощью обслуживать хосты Docker (которые, в свою очередь, могут обслуживать контейнеры Docker).

Требования

Чтобы следовать руководству, нужно иметь:

  • Доступ к программному интерфейсу;
  • Сервер Ubuntu 14.04 с 1GB памяти;
  • Предварительно установленный Docker.

Чтобы платформа Rancher запускалась вместе с сервером, используйте скрипт:

#!/bin/bash
docker run -d --name rancher-server -p 80:8080 rancher/server

1: Настройка авторизации

Откройте в браузере http://yourserverip/ и запустите интерфейс Rancher. На данный момент сервер Rancher находится в открытом доступе, потому нужно настроить авторизацию. Итак, установите авторизацию на основе OAuth.

В верхней части страницы вы увидите предупреждение:

Access Control is not configured

Кликните по ссылке Settings рядом с предупреждением и следуйте инструкциям, чтобы зарегистрировать новое приложение на Github. Затем скопируйте Client ID и Secret в соответствующие поля.

Затем кликните Authenticate with Github, выберите Authorize application во всплывающем окне. После этого страница перезапустится, инструкции по настройке OAuth будут заменены разделом Configure Authorization. Добавьте других пользователей, у которых должен быть доступ к Rancher. Изменив настройки авторизации, просто нажмите появившуюся кнопку Save authorization configuration.

После этого предупреждение пропадёт, а на его месте появится профиль Github и меню проектов (по умолчанию установлено на Default). Кликните на Default, чтобы открыть меню проектов, во всплывающем окне укажите себя в качестве владельца и нажмите Create. Затем снова используйте это меню, чтобы выбрать проект.

Все добавленные ноды будут храниться в этом проекте. Также можно создать несколько проектов и сгруппировать ноды.

2: Запуск нод Rancher

Теперь нужно запустить несколько нод Rancher. Для этого используется клавиша +Add Host.

При первом запуске хоста появится всплывающее окно с просьбой подтвердить IP-адрес сервера. укажите свой IP-адрес и кликните Save.

Страница Add Host предлагает выбрать провайдера: DigitalOcean, Amazon EC2 или custom. Первые два используются для запуска вычислительных узлов на соответствующих облачных системах, а третий предоставляет список команд, которые нужны для ручного запуска нод Rancher на сервере с предварительно установленным Docker.

Выберите провайдера и заполните появившуюся форму.

Server Name: введите любое имя.
Description: опционально.
Access Token: токен доступа к программному интерфейсу.
Image: образ, который нужно запустить (например, ubuntu-14-04-x64).
Size: объём памяти сервера (в данном случае 1gb).
Region: географический регион, в котором создан сервер.

В завершение нажмите Create. Rancher использует Docker Machine, чтобы создать указанный сервер и установить на него Docker. Также Rancher запустит rancher-agent на новом сервере.

В течение нескольких минут новый вычислительный узел появится в интерфейсе Rancher. Кроме того, вы получите базовую информацию о узлах (IP-адреса, сведения о процессоре, памяти и т.п.). Повторите инструкции этого раздела  несколько раз, чтобы запустить остальные ноды.

3: Мониторинг и масштабирование развёртывания

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

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

К примеру, если нод использует 80% памяти, нужно запустить еще несколько нод, чтобы распределить нагрузку. Как раз в таких ситуациях очень полезна интеграция Machine: вы можете быстро отреагировать и загрузить больше вычислительных узлов, не выходя из интерфейса Docker.

После устранения импульсных помех можно отключить ноды, нажав на details (круглая кнопка рядом с кнопкой Host и именем хоста) и выбрав Deactivate.

Позже можно включить ноды, нажав Activate, или удалить их при помощи Delete. Все эти опции находятся в том же меню.

Tags: , , ,

Добавить комментарий