Найти в Дзене

Виртуализация на VDS/VPS. ч.2

Для реализации идеи, мне потребуется ZTNET и Fastpanel. ZTNET будет объединять локальные сети, и через Fastpanel выводить нужные мне сервисы в интернет. Качаем файл yaml для установки ZTNET. Чуть не забыл, наш докер и его приложения, находятся за "забором", поэтому надо пробросить нужный порт "9443" для работы с Portainer. В свойствах контейнера указано, что он подключен через бридж lxdbr0, вот его и будем строить. Выбираем вкладку Networks и в ней lxdbr0. Проходим по ссылке Forwards и вот здесь мы настроим проброс порта. Жмем Create forward Контейнер в локальной сети имеет адрес - 10.127.129.173. В свою очередь, наш контейнер является хостом для докера, а в настройках установочного скрипта Portainer было указано пробросить порт 9443 на хост. Из этого делаем вывод, что порт уже активен на IP хоста. Пробрасывать будем c 10.127.129.173 на IP нашего сервера который смотрит в мир. Вводим наши данные и сохраняем - Пробуем подключиться к панели управления от Portainer https://IP:9443 - И е
Оглавление

Для реализации идеи, мне потребуется ZTNET и Fastpanel. ZTNET будет объединять локальные сети, и через Fastpanel выводить нужные мне сервисы в интернет. Качаем файл yaml для установки ZTNET.

Чуть не забыл, наш докер и его приложения, находятся за "забором", поэтому надо пробросить нужный порт "9443" для работы с Portainer.

Проброс порта из контейнера LXC/LXD

В свойствах контейнера указано, что он подключен через бридж lxdbr0, вот его и будем строить. Выбираем вкладку Networks и в ней lxdbr0. Проходим по ссылке Forwards и вот здесь мы настроим проброс порта. Жмем Create forward

Контейнер в локальной сети имеет адрес - 10.127.129.173. В свою очередь, наш контейнер является хостом для докера, а в настройках установочного скрипта Portainer было указано пробросить порт 9443 на хост. Из этого делаем вывод, что порт уже активен на IP хоста. Пробрасывать будем c 10.127.129.173 на IP нашего сервера который смотрит в мир. Вводим наши данные и сохраняем -

Пробуем подключиться к панели управления от Portainer https://IP:9443 -

-2

И еще один этап мы преодолели. Наш Docker готов к установке приложений.

Установка ZTNET в Docker

В Portainer, заходим в Custom Templates и создаем скрипт установки ZTNET. Для этого в поле Web editor, вставляем содержимое скачанного файла yaml. Обзываем скрипт допустим "ztnet" и даем команду кнопкой Создать.

В списке скриптов, появился "ztnet".

-3

Жмем на него и даем ему имя "ztnet", нажимаем Деплой и устанавливаем стек приложения -

-4

Зайдем после установки на вкладку Контейнеры и видим наш запущенный стек из трех контейнеров -

-5

Установка Fastpahel в LXC контейнере

На данном этапе оставим докер в покое и установим панель управления хостингом Fastpanel. Перед установкой перезагрузите свой сервер. Для установки, введем и выполним команду в терминале контейнера -

wget https://repo.fastpanel.direct/install_fastpanel.sh -O - | bash -
-6

После окончания установки, будет выведен пароль для fastuser и адрес панели -

-7

Добавим в пробрасываемые порты еще порт "8888" и пробуем подключиться к панели по адресу https://IP:8888. Вводим логин и пароль из терминала и попадаем в панель администрирования сервера.

-8
-9

Чтобы сопоставить IP адреса в панели, заходим Управление - Управление IP -

-10

Отдаем в управление адрес хоста (10.127.129.173) включив его, и переходим на вкладку Сопоставление IP и жмем Добавить -

-11

Выбираем локальный адрес (хоста) и вводим публичный адрес сервера. Сохраняем. Идем в Настройки Приложения, и устанавливаем DNS сервер bind9

-12

Если не нужна почта, отключаем ее сервисы -

-13

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

Подключаем домен в Fastpanel

Припаркуем домен в панель. Создаем в Fastpanel сайт Вручную и подключаем домен -

-14

На следующей странице отключаем БД и FTP и создаем сайт -

-15

Ну вот, опять забыл. Для нормальной работы хост панели, требуется пробросить еще порты 80,443,53 в панели LXD, думаю пока этого достаточно.

Подключаем Portainer к поддомену

Для начала узнаем IP на котором припаркован Portainer в докере -

docker network inspect -f '{{json .Containers}}' bridge | \
jq '.. | if type=="object" and has("Name") then {(.Name): .IPv4Address} else empty end'

Введите и выполните эту команду в терминале контейнера и получите результат -

-16

Теперь мы знаем где живет Portainer. Давайте у нашего домена, создадим поддомен port, на котором будет висеть портейнер. -

-17

Подключаем SSL сертификат и идем в ручную настройку поддомена port, корректируем адрес нашего хоста на адрес Portainer - 172.17.0.2:9443, и пробуем подключиться -

-18
-19

Первый сервис мы с вами подключили, с чем я вас и поздравляю!

Продолжение следует! Всем удачи!