Данная инструкция подходит абсолютно для всех операционных систем семейства Linux, поддерживающих Docker.
Нам будут нужны следующие компоненты:
- Среда Portainer CE для развертывания.
- Образ Envoy в формате TAR.
- Немного времени.
Установка Portainer
Установка для всех систем кроме Ред ОС производится из обычного репозитория.
Он располагается здесь.
Особенности для Ред ОС
Portainer в Ред ОС уже содержится в репозиториях и не надо устанавливать его «со стороны». В этом есть и свои плюсы. Я буду использовать yum вместо dnf, так мне привычнее, тем более что yum в Ред ОС 8 - симлинк на dnf.
Удостоверяемся что он есть в репозитории:
sudo yum search portainer
Затем ставим пакет:
sudo yum install portainer-ce -y
Включаем Portainer на автозапуск.
sudo systemctl enable portainer --now
Проверяем работу.
sudo systemctl status portainer
Нажимаем букву q, чтобы выйти из журнала.
Для всех систем
Ахтунг. Если у вас фаерволл, то порты надо пробросить. Это 8000 и 9443.
На iptables пробрасывается так:
Добавляем правило в таблицу NAT для порта 8000
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8000 -j DNAT --to :8000
Добавляем правило в таблицу NAT для порта 9443
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 9443 -j DNAT --to :9443
Добавляем правило в таблицу фильтрации для порта 8000
iptables -I INPUT -m state --state NEW -p tcp --dport 8000 -j ACCEPT
Добавляем правило в таблицу фильтрации для порта 9443
iptables -I INPUT -m state --state NEW -p tcp --dport 9443 -j ACCEPT
А на firewalld пробрасывается так:
firewall-cmd --permanent --add-port=9443/tcp
firewall-cmd --permanent --add-port=8000/tcp
Настройка Portainer
В графическом режиме заходим в ваш любимый браузер и открываем адрес https://localhost:9443.
Если показало подобное:
Выполняем.
sudo systemctl restart {portainer,docker}
Это перезагрузит оба сервиса.
Теперь нажимаем клавишу F5 и вводим данные админа. Запоминаем их! Пароль нужен длиной 12 символов.
Нажимаем кнопку "Create user", затем выбираем локальный сервер нажав на "Default" а затем "local".
Настройка и запуск контейнера
Скачиваем в домашнюю папку образ Envoy с моего зеркала.
wget -O envoy.tar https://wget.gubin.systems/docker/envoy.tar
Идем в пункт меню "Images" (образы) и нажимаем "Import".
Нажимаем кнопку "Select file".
Выбираем скачанный TAR.
Нажимаем кнопку "Upload" внизу страницы.
Теперь целиком копируем то, что написано в "Image tags". Это ID образа, он сейчас нам будет нужен.
Идем в пункт меню "Containers" (контейнеры).
Нажимаем "Add Container". Убираем "Always pull the image" (всегда загружать образ).
Переключаемся на Advanced Mode (маленькая ссылка). В "image" вставляем то, что скопировали (ID образа).
В самом низу страницы выбираем переключатель "Interactive & TTY". Это позволит читать консоль и логи.
И наконец, нажимаем "Deploy the container" (развернуть контейнер).
Проверяем работает ли все. Нажимаем на имя контейнера в списке.
И открываем "Logs" (Журналы).
Все, видим что наш контейнер успешно работает.
Порты есть в логе, их также можно поменять через Portainer, для этого зайдите: "Duplicate/Edit -> + map additional port" и впишите значения, затем опять нажмите "Deploy the container" и затем "Replace" (заменить).