Настройка Docker окружения
7000 UAHНастроить сервер для работы с docker контейнерами.
Каждый условный "бокс" (таких боксов может быть множество - выполняя роль Staging \ Production для различных проектов) должен содержать в себе ряд типовых докер контейнеров (но с возможностью расширения списка):
- web (nginx+php7) ;
- service ( background workers , cron ) ;
- cache ( redis );
- search (elasticsearch);
- db-master (mysql);
- db-slave (mysql);
Бизнес цель:
- облегчить выкатку типовых окружений (одна команда для создания нового "бокса").
- унификация инфраструктуры
- обеспечение идентичности между staging и production окружением
Задачи:
- создать и отладить конфигурации "боксов"
- запустить несколько боксов для проекта на php7 (работает на литом vps) в режиме Staging + Production
- система бэкапов mysql через репликацию с возможностью переноса контейнера в другой датацентр. подробнее ниже
- обеспечить систему мониторинга всех узлов (Zabbix \ Munin)
- написать подробную инструкцию к пользованию полученной системой
Схема бэкапов:
1) репликация Mysql с сервера А на Б по SSH туннелю + rsync файлов с пониженным приоритетом (конкретная одна папка с подпапками\файлами)
2) с сервера Б на север В уже просто бэкапы (mysqlbackup + zip) обычные пару раз в сутки
3) весь сервер В на хранилище Х раз в сутки (джейл)
сервер А - Production
сервер Б - Shadow
сервер B - Staging
сервер Х - урезанное хранилище бэкапов
Некоторые файлы (папки) могут быть расшарены между контейнерами.
Роли контейнеров:
(потенциально, не все из них нужны в первую фазу)
- balancer (распределять нагрузку на web-servers)
- web-server (крутится apache\nginx + php7 + приложение из репозитория)
- service-server (php7 + приложение из репозитории; задача - бэкграунд воркеры )
- broadcasting-server (php7 + nodejs; задача: торчать наружу с websockets)
- db-master (MySQL в режиме master)
- db-slave (MySQL в режиме slave)
- cache-server (Redis)
- file-server (узел для хранения uploads файлов, возможность симлинка\mount на web-server)
- svngit-server (apache + SVN + git)
- redmine-server (apache (any other web server + Redmine)
- shadow-server (MySQL в режиме slave, хранилище файлов)
- storagebox (хранение дампов, бэкапов)
-
459 19 5 2 Имею опыт работы системным администратором больше 15 лет.
Я долго работал в технической поддержке (L3) хостинговых компаниях (vps.net, theplanet.com, midphase.com, etc...).
Аналогичные задачи я решал много раз.
Ваш проект будет решён в кратчайшие сроки и с высоким качеством.
Гуру в VoIP, создание колцентров, http://voip.cn.ua
С наилучшими пожеланиями
Ross, Remote Server Administration.
e-mail: [email protected]
skype: ross.sysadm