Главная / Задания / Поднять несколько VM на удаленном сервере
Видно всем месяц назад  ·  # 5782

Поднять несколько VM на удаленном сервере

У нас есть сервер, необходимо выполнить следующие работы (нейрослоп ниже, возможно Вы придумаете как лучше сделать то, чего мы пытаемся достичь)
Предварительный объём работ девопса:

1. Установить Proxmox VE на физический сервер и настроить ZFS-зеркало из двух NVMe. На самом физическом узле прикладные сервисы не размещать.

2. Создать и настроить пять виртуальных машин:
— web01: reverse proxy, TLS, фильтрация веб-запросов, frontend и Go backend;
— data01: PostgreSQL и S3-совместимое файловое хранилище SeaweedFS;
— gitlab01: GitLab CE;
— ci01: GitLab Runner и временное тестовое окружение;
— admin01: мониторинг, логи, трассировка, резервное копирование и административный доступ.

3. Настроить сетевую инфраструктуру:
— WireGuard для удалённого административного доступа;
— отдельные VLAN для управления, публичного контура, данных и разработки;
— firewall и NAT;
— публикацию наружу только необходимых портов сайта и VPN;
— закрыть прямой доступ из интернета к Proxmox, PiKVM, SSH, GitLab, PostgreSQL, SeaweedFS и мониторингу.

4. Настроить удалённое администрирование:
— доступ к Proxmox, виртуальным машинам и внутренним сервисам только через VPN;
— именные учётные записи;
— SSH-ключи;
— sudo-права;
— журналирование административных действий;
— позднее подключить и настроить PiKVM, если устройство не будет доступно на момент первого запуска.

5. Развернуть инфраструктуру продукта:
— frontend;
— Go backend;
— PostgreSQL;
— SeaweedFS с S3 API;
— GitLab CE;
— GitLab Runner;
— контейнеры и CI/CD;
— временное тестовое окружение, изолированное от рабочей БД и рабочих персональных данных.

6. Развернуть подсистему наблюдения:
— Grafana OSS;
— VictoriaMetrics;
— VictoriaLogs;
— Jaeger;
— OpenTelemetry Collector;
— node_exporter;
— cAdvisor;
— postgres_exporter;
— blackbox-проверки;
— алерты по доступности сайта, HTTP-ошибкам и задержкам, заполнению дисков, ZFS, состоянию NVMe, PostgreSQL, WAL, SeaweedFS, GitLab, резервным копиям и TLS-сертификатам.

7. Настроить резервное копирование:
— PostgreSQL и WAL;
— пользовательские файлы;
— GitLab;
— конфигурацию инфраструктуры;
— зашифрованную выгрузку резервных копий в российское объектное хранилище;
— тестовое восстановление;
— документирование RPO и RTO.

8. Описать инфраструктуру через Ansible или другой согласованный IaC-инструмент.

9. Подготовить и передать:
— сетевую схему;
— список VLAN и используемых портов;
— матрицу доступов;
— перечень административных учётных записей;
— инструкции по обновлению;
— инструкции по резервному копированию и восстановлению;
— порядок действий при сбоях;
— все административные доступы и резервные коды представителю компании.

Домена у нас пока нет, но будет.
Рассматриваем долгосрочное сотрудничество в виде условной почасовки
Гонорар
Обсуждается индивидуально
Долгосрочное
Срок
30 дней
Опыт
От 3 лет
Часовой пояс
Не важен

Требуемые навыки

Веб-разработка и IT Linux Администрирование сети Веб-безопасность +2