Saturday, 16 April 2016

Docker 3-Tier Java App (Nginx, Tomcat, MySQL) Automation On Any Cloud


DCHQ упрощает контейнеризации корпоративных приложений и позволяет копировать очень сложных сред приложений на нескольких узлах через один клик кнопку развертывания. DCHQ не только автоматизировать развертывание приложений, но он также интегрируется с 12 различными поставщиками облачных автоматизировать выделение ресурсов и автоматическое масштабирование переплетения с поддержкой кластеров, состоящих из распределенных виртуальных машин.
В этом блоге мы будем идти по автоматизации развертывания и управления жизненным циклом грузчиком на базе 3-уровневой приложения Java, развернутого на серверах Tomcat с Nginx для балансировки нагрузки и MySQL для базы данных.
Это может быть сделано путем перехода к библиотеке Self-Service , а затем нажав на кнопку Настройка , чтобы запросить применение многоуровневой. В этом примере мы имеем применение многоуровневого , состоящий из Nginx (для балансировки нагрузки), Tomcat (кластерный сервер приложений) и MySQL ( в качестве базы данных). Вы заметите Nginx вызова является Баш скрипт плагин , чтобы добавить контейнер IP-адресов серверов приложений в файле default.conf динамически (или во время запроса). Tomcat также вызова Баш скрипт плагин для развертывания Java - файл WAR из указанного URL. Вы заметите , что CLUSTER_SIZE параметр позволяет указать количество контейнеров для запуска (с теми же зависимостей приложений). Хоста параметр позволяет указать хост вы хотели бы использовать для развертывания контейнеров. Ниже приведены значения , которые поддерживаются для параметра хоста:
  • host1, host2, host3 и т.д. - выбирает хост случайным образом в пределах дата-центра (или кластер) для развертывания контейнеров
  • <IP - адрес 1, 2 IP - адреса и т.д.> - позволяет пользователю указать фактический IP - адреса используются для развертывания контейнеров
  • <Hostname 1, Hostname 2 и т.д.> - позволяет пользователю определить фактические имена хостов использовать для развертывания контейнеров
  • Подстановочные (например , "db- *" или "приложение-srv- *") - указание использовать групповые символы в имени хоста
Кроме того, пользователь может создавать кросс-изображения переменных среды привязок, сделав ссылку на переменную окружения другого изображения. Ниже приведен список поддерживаемых переменных окружения:
  • {{alphanumeric | 8}} - создает случайный 8-символьный буквенно-цифровой строки. Это особенно полезно для создания случайных паролей.
  • {{<Image Name> | ip}} - позволяет ввести IP-адрес хоста шаблона в качестве значения переменной окружения. Это наиболее полезно для обеспечения возможности промежуточного программного обеспечения яруса, чтобы установить соединение с базой данных.
  • {{<Image Name> | container_ip}} - позволяет ввести имя контейнера (или внутренний IP) шаблона в качестве значения переменной окружения. Это наиболее полезно для обеспечения возможности промежуточного программного обеспечения яруса, чтобы установить безопасное соединение с базой данных (не подвергая порт базы данных).
  • {{<Image Name> | port _<Port Number>}} - позволяет ввести номер порта шаблона в качестве значения переменной окружения. Это наиболее полезно для обеспечения возможности промежуточного программного обеспечения яруса, чтобы установить соединение с базой данных. В этом случае номер порта, указанный должен быть внутренний номер порта - то есть не внешний порт, который выделяется в контейнер. Например, {{PostgreSQL | port_5432}} будет переведен к фактической внешний порт, что позволит промежуточное программное обеспечение уровня для установления соединения с базой данных.                                                                    
  • {{<Image Name> | <Имя переменной среды>}} - позволяет ввести значение переменной окружения изображение в в переменной окружения другого образа. Случаи использования здесь безграничны - как большинство многоуровневых приложений будет иметь зависимости кросс-изображения.
Пользователь может выбрать тег окружающей среды (например, DEV или QE) и переплетение с поддержкой центра обработки данных, прежде чем нажать на Run.

Картина
После того, как приложение и работает, пользователь может контролировать процессора, памяти, и Использование ввода / вывода запущенных контейнеров и выполнять 2-й день-операции, как резервное копирование, Контейнер обновления с помощью BASH плагинов, Scale In / Out и непрерывной доставки ,
В записанном демо, мы масштабироваться сервера кластера приложений от 2 до 3. Пользователь может запланировать масштабирование в рабочее время и в масштабе в выходные дни. Затем мы использовали BASH плагин для обновления файла default.conf Nginx, чтобы он знает о новом сервере приложений добавлен. Баш скрипт плагины также могут быть запланированы для размещения прецедентов, как очистка журналов или обновления конфигураций на определенных частотах. Приложение времени линия доступна для отслеживания все изменения, сделанные приложением для аудита и диагностики.
Предупреждения и уведомления доступны, когда контейнеры или хосты вниз или, когда ЦП и памяти Использование либо узлов или контейнеров превышает определенный порог.
Регистрация бесплатно на DCHQ.io Hosted PaaS ( http://dchq.io ) , чтобы получить этот шаблон вместе с Ruby, Python, PHP, MEAN.JS, кластерные MongoDB и многих других шаблонов.


No comments:

Post a Comment