Гид по технологиям

Установка и настройка Rancher на Ubuntu 16.04

• 8 min read • DevOps • Обновлено 25 Nov 2025
Установка Rancher на Ubuntu 16.04
Установка Rancher на Ubuntu 16.04

Rancher — платформа управления контейнерами. В этой инструкции показано, как установить Docker, запустить Rancher Server в контейнере, включить локальную авторизацию, подключить хост-агент и развернуть приложение из каталога (пример: Ghost). Приведены чеклисты, методика тестирования и рекомендации по отладке.

Преимущества и назначение

Rancher упрощает создание и управление Docker/Kubernetes средами. Он предоставляет сетевые сервисы, балансировку нагрузки и управление томами. Этот гид ориентирован на установку Rancher 1.x в контейнере на Ubuntu 16.04 и добавление удалённого хоста с Docker.

Пререквизиты

  • Сервер Ubuntu 16.04 для Rancher Server — hakase-labs — 192.168.33.10
  • Сервер Ubuntu 16.04 для агента — rancher-host01 — 192.168.33.11
  • Привилегии root или sudo на обоих серверах
  • Подключение по сети между серверами

Важно: Ubuntu 16.04 давно использовалась в продакшн; при планировании новых установок рассмотрите более свежие релизы Ubuntu и Rancher 2.x.

Что мы сделаем

  1. Установим Docker на Ubuntu 16.04
  2. Запустим Rancher Server в контейнере
  3. Включим локальную авторизацию для Rancher
  4. Добавим новый хост-агент
  5. Развернём контейнер из каталога (Ghost)

Шаг 1 — Установка Docker на Ubuntu 16.04

Rancher работает как набор контейнеров: сервер и агенты. Поэтому Docker должен быть установлен на всех хостах.

Обновите пакеты и установите Docker:

sudo apt update
sudo apt upgrade -y
sudo apt install -y docker.io

Запустите сервис Docker и включите автозагрузку:

sudo systemctl start docker
sudo systemctl enable docker

Проверьте статус и версию:

sudo systemctl status docker
docker --version

Результат должен выглядеть примерно как на скриншоте:

Проверка запуска Docker и версии

Совет: если у вас старый пакет docker.io, можно установить docker-ce из официального репозитория Docker для актуальной версии.

Шаг 2 — Установка Rancher Server

Rancher Server запускается в контейнере. На сервере hakase-labs создайте каталог для хранения данных MySQL, используемой Rancher Server:

HOST_VOLUME=$HOME/rancher-data/mysql
mkdir -p $HOST_VOLUME

Запустите контейнер Rancher Server:

sudo docker run -d -v $HOST_VOLUME:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server

Подождите пока контейнер загрузится и проинициализируется. В веб-браузере откройте:

http://192.168.33.10:8080/

Если всё в порядке, вы увидите страницу установки Rancher:

Установка Rancher Server завершена

Далее вы попадёте на первичную страницу:

Первая страница Rancher

Важно: в продакшне используйте отдельный том для данных и настройте резервное копирование каталога $HOST_VOLUME.

Шаг 3 — Настройка контроля доступа Rancher

Rancher поддерживает несколько провайдеров авторизации: Active Directory, Azure AD, GitHub, OpenLDAP, SAML и Local Authentication. В этом руководстве включим локальную аутентификацию.

Откройте интерфейс Rancher по адресу:

http://192.168.33.10:8080/

Перейдите в меню «ADMIN» и выберите «Access Control» (Контроль доступа).

Управление контролем доступа

Выберите метод Local Authentication, задайте имя пользователя и пароль и нажмите «Enable Local Auth».

Использование локальной аутентификации

После включения вы попадёте в панель Rancher уже с включенной локальной авторизацией.

Локальная авторизация включена

Советы по безопасности:

  • Используйте сложные пароли и ограничьте доступ по IP, если возможно.
  • Для корпоративной инфраструктуры предпочтительнее интеграция с LDAP/AD или SAML.

Шаг 4 — Добавление нового хоста

Хосты в Rancher — это Linux-серверы с установленным Docker. Добавим rancher-host01 (192.168.33.11).

Подключитесь по SSH к rancher-host01:

ssh root@rancher-host01

Установите Docker, если он не установлен:

sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker

Проверьте установку:

Проверка Docker на хосте

На Rancher Dashboard перейдите в меню «INFRASTRUCTURE» → «Hosts» и нажмите «Add Host».

Открыть дашборд Rancher

В поле Host Registration URL оставьте значение по умолчанию и сохраните.

URL регистрации хоста

Выберите тип хоста «Custom», укажите IP и скопируйте команду для запуска агента.

Добавить кастомный хост

На rancher-host01 выполните команду агента. Пример (замените на вашу команду из интерфейса, если она отличается):

sudo docker run -e CATTLE_AGENT_IP='192.168.33.11' --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.9 http://192.168.33.10:8080/v1/scripts/C7871D15E9CE6FFA892F:1514678400000:T9qDygb2pHroTMBuqA9Jylol8tU

Команда загрузит и запустит контейнер Rancher Agent на хосте. После успешной регистрации в интерфейсе Rancher вы увидите новый хост в списке:

Создание контейнера агента завершено

Хост добавлен в Rancher

После этого Rancher Server может управлять контейнерами на rancher-host01.

Шаг 5 — Развёртывание контейнера через каталог Rancher

Rancher предоставляет каталоги приложений: Library (сертифицированные шаблоны) и Community (пользовательские шаблоны). Развернём Ghost из Community Catalog.

Перейдите в «CATALOG» → Community Catalog.

Каталог приложений

В поле поиска введите Ghost и откройте детали шаблона.

Поиск приложений

Задайте имя и описание для стека и нажмите Launch.

Указать имя контейнера

После успешного запуска в интерфейсе вы увидите контейнер в статусе Running:

Запуск контейнера через Rancher

Проверьте, что контейнер запущен на нужном хосте:

Меню инфраструктуры

Откройте в браузере IP rancher-host01, чтобы увидеть сайт Ghost:

http://192.168.33.11/

Ghost работает в контейнере, развернутом через Rancher

Поздравляем — Rancher Server и агент успешно установлены, а приложение развернуто.

Рекомендации по эксплуатации и безопасность

  • Резервное копирование: регулярно создавайте бэкапы каталога $HOST_VOLUME и /var/lib/rancher на агенте.
  • Сеть: закройте ненужные порты, разрешите доступ к портам Rancher только с доверенных адресов.
  • TLS: в продакшне обязательно настроить TLS для веб-интерфейса Rancher.
  • Обновления: планируйте обновление Rancher и Docker; проверяйте совместимость версий.

Альтернативные подходы

  • Rancher 2.x + Kubernetes: если нужна нативная поддержка Kubernetes и современная архитектура, рассматривайте Rancher 2.x и запуск k3s или RKE-кластеров.
  • k3s для легких сред: k3s — оптимизированный Kubernetes от Rancher, подходит для edge/IoT.
  • Compose / Swarm: для простых окружений Docker Compose может быть достаточен, но Rancher добавляет централизованное управление.

Когда этот подход не подходит

  • Нужен современный Kubernetes API и инструменты Helm 3 — лучше использовать Rancher 2.x или управляемые кластеры.
  • Требуется высокая отказоустойчивость базы данных Rancher Server — одноконтейнерная схема с локальным MySQL не подходит, нужна внешняя БД и кластерная конфигурация.

Ментальные модели и эвристики

  • Разделение ответственности: Rancher Server — контроль и UI, агенты — выполнение контейнеров.
  • Данные важнее контейнеров: обеспечьте надёжное хранилище для БД Rancher.
  • Минимальный жизнеспособный кластер: один сервер Rancher + один агент для тестов; для prod — минимум 3 узла и внешняя БД.

Чек-листы

Чек-лист администратора перед установкой:

  • Есть доступ к обоим серверам по SSH
  • Настроен статический IP или DNS
  • Установлен и запущен Docker
  • Запланировано резервное копирование данных Rancher
  • Быстрый доступ к веб-интерфейсу (порты открыты)

Чек-лист разработчика при развёртывании приложения:

  • Проверены переменные окружения приложения
  • Настроено persistent storage если нужно
  • Настроен мониторинг и логирование
  • Прописываются health checks и restart policies

Роль-based checklist (операции):

  • Оператор: установка Docker, запуск агента, проверка статуса хостов.
  • Администратор платформы: резервные копии, конфигурация Access Control, TLS.
  • Разработчик: публикация в каталоге, тесты контейнера, подготовка конфигурации.

SOP: быстрый порядок установки (короткая инструкция для повторяемых развёртываний)

  1. На каждом узле: apt update && apt install -y docker.io
  2. На сервере Rancher: mkdir -p $HOME/rancher-data/mysql
  3. Запустить rancher/server контейнер с пробросом порта 8080
  4. Включить access control, создать первого администратора
  5. На каждом хосте запустить rancher/agent с адресом сервера
  6. В Rancher UI добавить хосты и запустить нужные стеки

Incident runbook — распространённые проблемы и быстрые решения

Проблема: Rancher Server контейнер не стартует

  • Проверить логи контейнера: sudo docker logs
  • Проверить права на каталог $HOST_VOLUME
  • Убедиться, что порт 8080 не занят

Проблема: Агент не может зарегистрироваться

  • Проверить доступность http://192.168.33.10:8080/ из хоста агента
  • Проверить правильность команды агента и токена регистрации
  • Убедиться, что на хосте открыт исходящий 8080

Проблема: Приложение в статусе Error

  • Проверить логи контейнера через Rancher UI или docker logs
  • Проверить переменные окружения и монтирование томов

Критерии приёмки

  • Rancher Server доступен по HTTP/HTTPS
  • Пользователь-администратор может войти через локальную авторизацию
  • rancher-host01 отображается в списке хостов и доступен
  • Ghost контейнер в статусе Running и отвечает на HTTP-запросы

Тест-кейсы и приёмочные проверки

  1. Установка Docker: docker –version возвращает версию
  2. Запуск Rancher Server: HTTP 200 на / от сервера
  3. Регистрация агента: хост появляется в Rancher UI за < 5 минут
  4. Развёртывание Ghost: страница приложения отвечает 200

Совместимость и миграция

  • Rancher 1.x использует собственные агенты и API; при будущем переходе на Rancher 2.x требуется миграция рабочих нагрузок и пересоздание кластеров под Kubernetes.
  • План действий при миграции: экспорт конфигураций, настройка кластера Kubernetes (RKE/k3s), развертывание приложений через Helm или katalog.

Безопасность и приватность

  • Ограничьте доступ к Rancher UI с помощью сетевых списков доступа и VPN.
  • Настройте TLS сертификаты для веб-интерфейса.
  • Если в шаблонах используются секреты, храните их в безопасном хранилище (Vault, секреты Kubernetes).

Частые ошибки и когда они возникают

  • Использование локального БД в продакшне — риск потери данных при сбое хоста.
  • Открытие Rancher порта в интернет без TLS и защиты — критический риск.

Советы по отладке и оптимизации

  • Логи: используйте centralized logging (ELK/EFK) для быстрого анализа.
  • Мониторинг: интегрируйте Prometheus и alerting для своевременного реагирования.
  • Автообновления: тестируйте обновления в staging перед продакшном.

Часто задаваемые вопросы

Как обновить Rancher Server из контейнера?

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

Можно ли использовать внешнюю базу данных?

Да. Для продакшн-сценариев рекомендуется внешняя СУБД (MySQL/MariaDB) с репликацией и бэкапами.

Что лучше: Rancher 1.x или 2.x?

Если вам нужен современный Kubernetes-стек и поддержка Helm 3, выбирайте Rancher 2.x. Для простых сценариев управления Docker-контейнерами может быть достаточно Rancher 1.x, но это устаревающая ветка.

Краткое резюме

  • Проверили Docker, запустили Rancher Server в контейнере, включили локальную авторизацию.
  • Добавили хост-агент и развернули приложение из Community Catalog (Ghost).
  • Привели чек-листы, SOP, runbook для типичных инцидентов и рекомендации по безопасности.

Если нужно, могу подготовить краткое объявление для команды, шаблоны для резервного копирования или автоматизированный скрипт установки для повторяемой развертки.

Ссылки и ресурсы

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро