Вступление
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 в качестве балансировщика нагрузки.