Как управлять многоузловыми развертываниями с помощью Rancher и Docker Machine в Ubuntu 16.04

Вступление

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

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

Предпосылки

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

  • Персональный токен DigitalOcean для API, который можно создать, следуя инструкциям в https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2#how-to- Генерировать личный токен доступа [это руководство].

  • Учетная запись http://github.com [GitHub], которую вы будете использовать для настройки аутентификации пользователя для Rancher.

Шаг 1 - Создание дроплета для хоста Rancher

Чтобы использовать Rancher для управления хостами и контейнерами Docker, нам нужно запустить Rancher. Мы будем использовать образ Docker DigitalOcean и немного * User Data *, чтобы быстро начать работу.

Сначала войдите в свою учетную запись DigitalOcean и выберите * Create Droplet *. Затем в разделе * Выберите изображение * выберите тег * One-click Apps *. Выберите изображение * Docker 18.06.1 ~ ce ~ 3 18.04 *.

изображение: https: //assets.digitalocean.com/articles/rancher_1604/CPDKRVERS.png [изображение Docker]

Затем выберите * 1GB * Droplet и выберите область центра данных для вашей Droplet.

Затем выберите * Данные пользователя * в разделе * Выбор дополнительных параметров * и введите сценарий ниже в появившемся текстовом поле. Этот скрипт сообщает Droplet, что нужно получить образ Docker + rancher / server + и запустить сервер Rancher в контейнере при запуске.

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

Наконец, добавьте ключи SSH, укажите имя хоста для вашей капли и нажмите кнопку * Создать *. Затем подождите, пока ваш новый сервер будет создан. После запуска сервера Docker загрузит образ Rancher и запустит сервер Rancher, что может занять несколько минут.

Чтобы проверить, запущен ли Rancher, войдите в свою новую Droplet:

ssh root@

После входа в систему получите список работающих контейнеров Docker:

docker ps

Вы увидите следующее, что подтверждает, что Rancher работает:

Outputec5492f1b628              "/usr/bin/entry /usr/"   15 seconds ago             3306/tcp, 0.0.0.0:80->8080/tcp

Если вы этого не видите, подождите несколько минут и повторите попытку. Как только вы убедитесь, что Rancher запущен, вы можете выйти из машины.

Шаг 2 - Настройка аутентификации для Rancher

Когда ваш сервер запущен, перейдите к + http: /// +, чтобы вызвать пользовательский интерфейс Rancher. Поскольку сервер Rancher в настоящее время открыт для Интернета, рекомендуется установить аутентификацию, чтобы публика не могла вносить изменения в нашу среду. Давайте настроим Rancher для использования аутентификации на основе Github OAuth.

Вы увидите значок предупреждения рядом с пунктом меню * ADMIN * в верхней части экрана.

изображение: https: //assets.digitalocean.com/articles/rancher_1604/Wxi8mXw.png [Контроль доступа не настроен]

Если вы наведите курсор на эту ссылку, вы увидите сообщение * Контроль доступа не настроен *. Выберите * Access Control * в меню * ADMIN *. Github будет выбран в качестве метода аутентификации по умолчанию, поэтому следуйте инструкциям на странице, чтобы зарегистрировать новое приложение в GitHub.

После регистрации приложения скопируйте * Client ID * и * Client Secret * со страницы приложения на Github в соответствующие текстовые поля в пользовательском интерфейсе Rancher. Затем нажмите * Сохранить *.

Затем в разделе «Проверка и включение аутентификации» нажмите «Аутентификация с помощью GitHub *» и нажмите «Авторизовать приложение» в появившемся окне. Страница перезагрузится, а инструкции по настройке OAuth будут заменены разделом * Configure Authorization *. Добавьте любых дополнительных пользователей и организаций, которым должен быть предоставлен доступ к Rancher. Если вы вносите какие-либо изменения, нажмите кнопку * Сохранить *.

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

Шаг 3 - Создание среды

Среда в Rancher позволяет нам группировать наши хосты в логические множества. Rancher предоставляет среду под названием * Default *, но давайте создадим нашу собственную. Нажмите на ссылку * Default * в верхней части экрана, чтобы открыть меню * Environments *, затем нажмите * Manage Environments *. Нажмите кнопку * Добавить среду *, которая появится на странице.

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

Теперь давайте запустим несколько хостов в этой новой среде.

Шаг 4 - Запуск вычислительных узлов Rancher

После того, как вы обеспечили безопасность своего развертывания Rancher и добавили проект, выберите * Hosts * в меню * Infrastructure * и нажмите кнопку * Add Host *.

На экране * Добавить хост * вы увидите несколько провайдеров: * Пользовательский *, * Amazon EC2 *, * DigitalOcean *, * Azure * и * Packet *. Опция * Custom * содержит список шагов для ручного запуска вычислительного узла Rancher на сервере с предварительно установленным Docker. Другие используются для запуска вычислительных узлов в соответствующих облачных системах.

Выберите опцию * DigitalOcean *, как показано на следующем рисунке:

Изображение: HTTPS: //assets.digitalocean.com/articles/rancher_1604/qmd0amx.png [изображение]

В поле * Access Token * укажите свой личный токен доступа для API DigitalOcean, который вы получили в разделе предварительных условий. Затем нажмите * Далее: Настройка капли *.

Новый набор полей появится на экране. Заполните следующие данные:

  • * Имя *: имя сервера, который вы хотите создать. В этом случае введите + host01 +.

  • * Количество *: оставьте это в + 1 +. Увеличение этого значения создаст несколько хостов и автоматически назовет каждого из них для вас.

  • * Изображение *: выберите * Ubuntu 16.04.1 x64 * отключены, потому что они не совместимы с Rancher.

  • * Размер *: размер капли. Выберите опцию для * 1GB * Droplet.

  • * Регион *: регион, в котором будет создана ваша капля. Выберите один из географически близких вам.

Наконец, нажмите * Создать *. Rancher будет использовать Docker Machine для создания указанной капли и установки на нее Docker. Rancher также запускает + rancher-agent на только что созданном Droplet, который, в свою очередь, регистрируется на сервере Rancher.

Через несколько минут вы увидите своего нового хоста в пользовательском интерфейсе Rancher. Вы также получите некоторую основную информацию о хосте, такую ​​как его IP-адрес, тактовая частота процессора, память и память.

изображение: https: //assets.digitalocean.com/articles/rancher_1604/GURVRo3.png [Ваш вновь созданный хост]

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

Шаг 5 - Мониторинг и масштабирование вашего развертывания

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

image: https: //assets.digitalocean.com/articles/rancher_1604/Rk1Uw56.png [Использование процессора и памяти для вашего хоста]

Если вы видите, что используете большую часть памяти или если ваш ЦП работает постоянно горячим, вы можете запустить больше узлов, чтобы уменьшить плотность контейнера и распределить нагрузку. Вот где интеграция + docker-machine действительно полезна; Вы можете быстро реагировать на скачки нагрузки, предоставляя больше вычислительных узлов прямо из Rancher UI.

Как только выбросы уменьшатся, вы можете отключить любые дополнительные узлы, посетив страницу * Hosts *, определив местонахождение своего хоста и щелкнув значок * Deactivate * (поле с двумя вертикальными линиями), как показано на следующем рисунке:

изображение: https: //assets.digitalocean.com/articles/rancher_1604/anwmwoT.png [Деактивировать хост]

Затем вы можете затем нажать либо * Активировать *, либо * Удалить * в меню справа от кнопки * Деактивировать *.

Заключение

Теперь вы знаете, как запускать, отслеживать и деактивировать вычислительные узлы с помощью Rancher и его интеграции с собственной поддержкой драйверов DigitalOcean. Отсюда вы можете изучить how для использования Rancher в качестве балансировщика нагрузки.

Related