Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
7000 ₴

Настройка Docker окружения

closed by moderator


Настроить сервер для работы с docker контейнерами. 


Каждый условный "бокс" (таких боксов может быть множество - выполняя роль Staging \ Production для различных проектов) должен содержать в себе ряд типовых докер контейнеров (но с возможностью расширения списка):

  • web (nginx+php7) ; 
  • service ( background workers , cron ) ; 
  • cache ( redis ); 
  • search (elasticsearch); 
  • db-master (mysql);
  • db-slave (mysql);


Бизнес цель:

  1. облегчить выкатку типовых окружений (одна команда для создания нового "бокса").
  2. унификация инфраструктуры
  3. обеспечение идентичности между staging и production окружением


Задачи:

  1. создать и отладить конфигурации "боксов"
  2. запустить несколько боксов для проекта на php7 (работает на литом vps) в режиме Staging + Production
  3. система бэкапов mysql через репликацию с  возможностью переноса контейнера в другой датацентр. подробнее ниже
  4. обеспечить систему мониторинга всех узлов (Zabbix \ Munin)
  5. написать подробную инструкцию к пользованию полученной системой


Схема бэкапов:

image


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 (хранение дампов, бэкапов)



  1. 7 days7000 ₴Winning proposal
    Rostyslav Matiusha
     363   8    0

    Имею опыт работы системным администратором больше 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

    Ukraine Chernigov | 4 July 2017 |

Client
Maxim Y
United States United States  4    0
Project published
4 July 2017
18 views