Статьи

Автоматическое развертывание приложений Docker в общедоступном облаке OVH

DCHQ, стартап из Сан-Франциско, обеспечивающий гибридное облако и автоматизацию приложений для предприятий, представляет свою поддержку OVH Public Cloud — предложения, основанного на OpenStack, с центрами обработки данных во Франции и Канаде.

Теперь DCHQ позволяет пользователям автоматизировать предоставление и автоматическое масштабирование облачных сервисов (включая вычисления, сеть и хранилище) в общедоступном облаке OVH. Как только инфраструктура подготовлена, DCHQ специализируется на автоматизации развертывания приложений — предоставляя инфраструктуры обнаружения служб и привязки данных, необходимые для захвата сложных зависимостей как для не облачных собственных приложений (например, Oracle, SAP и т. Д.), Так и для архитектур микросервисов.

В этом блоге мы расскажем об автоматизации развертывания многоуровневого Java-приложения Docker в облачных экземплярах OVH, предоставляемых через DCHQ.

Что такое DCHQ?

DCHQ разворачивает и управляет существующими корпоративными и облачными приложениями в любой облачной или контейнерной инфраструктуре, включая VMware vSphere , OpenStack , OVH , AWS , Microsoft Azure и многие другие.

Он обеспечивает «на лету» контейнеризацию корпоративных приложений, включая Oracle Database Cluster, SAP и другие. Таким образом, DCHQ преобразует не облачные нативные приложения в полностью переносимые приложения, которые могут использовать преимущества облачного масштабирования, избыточности хранилища и, самое главное, гибкости развертывания.

DCHQ поддерживает расширенные многоуровневые приложения, обеспечивающие привязку и внедрение данных для захвата сложных зависимостей между компонентами приложения. Он также предоставляет бесконечно гибкую инфраструктуру плагинов, которую можно вызывать при более чем 20 показателях жизненного цикла приложения, чтобы обеспечить обнаружение служб и автоматическое обновление приложений.

Платформа предназначена для предприятий, обеспечивая четкое разделение проблем с контролем доступа на основе ролей, политиками квот на основе использования ресурсов, разрешениями на распространение управления приложениями для других бизнес-пользователей, политиками утверждения для обеспечения безболезненного управления и профилями затрат для включения ресурсов биллинг.

Среда моделирования приложений позволяет создавать модульные чертежи приложений, используя профили компонентов, профили хранения, профили DBaaS и профили сценариев конфигурации. Как только приложение развернуто, пользователи получают доступ к мониторингу, оповещениям, непрерывной доставке, резервному копированию приложений, масштабированию ввода / вывода, терминалу в браузере для доступа к контейнерам, потоковой передаче журнала и обновлениям приложения.

DCHQ Обзор

9437803_orig

Особенности платформы DCHQ

7455040_orig

Рабочий процесс DCHQ

6459078_orig

Проблемы в управлении Docker-инфраструктурой

  • Как я могу автоматизировать подготовку инфраструктуры с поддержкой Docker?
  • Как я могу сгруппировать серверы в разных облаках в кластеры, которые сопоставляются с бизнес-группами, группами разработчиков или проектами приложений?
  • Как я могу отслеживать эти кластеры и получать информацию о потреблении ресурсов различными группами или пользователями?
  • Как настроить сеть на серверах в кластере, чтобы контейнеры на нескольких хостах могли взаимодействовать друг с другом?
  • Как определить собственную политику размещения на основе емкости, чтобы я мог использовать каждый бит вычислений в кластере?
  • Как я могу автоматически масштабировать кластер для удовлетворения потребностей разработчиков в новых приложениях на основе контейнеров?

3 простых шага для настройки кластера Docker OVH

Прежде чем начать, вам нужно получить доступ к DCHQ:

Шаг 1. Создание облачного провайдера для OVH с использованием конечной точки OpenStack

Перед регистрацией поставщика облачных услуг для OVH пользователю необходимо выполнить следующие шаги в OVH.

Добавить пользователя для OpenStack

1. Войдите в консоль управления OVH: https://ca.ovh.com/manager/login/

2. Нажмите Public Cloud и создайте новый проект (если он еще не создан).

3. Нажмите « Управление проектами и консолидация».

4. Нажмите на OpenStack .

5. Нажмите Добавить пользователя, чтобы создать новый токен.

6. Сохраните идентификатор и пароль .

7. Щелкните значок конфигурации и выберите « Загрузка файла конфигурации OpenStack ». ВАЖНО — убедитесь, что вы выполняете эту задачу в регионе, в котором вы планируете запускать экземпляры.

Откройте этот файл и скопируйте OS_TENANT_NAME . Это потребуется вместе с идентификатором и паролем при регистрации провайдера облака.

8768527_orig

8336964_orig

Создать закрытый ключ для проекта OpenStack

Перейдите на страницу «Доступ и безопасность» и войдите в систему, используя ID и пароль, созданные ранее для OpenStack. https://horizon.cloud.ovh.net/project/access_and_security/

Нажмите на вкладку « Ключевые пары ». Убедитесь, что регион, выбранный в верхней части, соответствует региону, в котором вы планируете запускать экземпляры.

Нажмите « Создать пару ключей» и сохраните сгенерированный файл PEM .

8980671_orig

Зарегистрируйте провайдера облака для публичного облака OVH

Пользователь может зарегистрировать провайдера облака для публичного облака OVH, перейдя к провайдерам облаков и затем нажав кнопку + , чтобы выбрать OpenStack . Вот обязательные поля:

  • URL конечной точки: https://auth.cloud.ovh.net/v2.0
  • Имя пользователя: OS_TENANT_NAME: ID (например, 6756121681216381: p4yVY12A6tXN). OS_TENANT_NAME можно получить из файла конфигурации OpenStack (openrc.sh). Идентификатор пользователя, созданного для OpenStack.
  • Пароль: это пароль для пользователя, созданного для OpenStack.

Необязательные поля позволяют вам применять детализированные элементы управления доступом и связывать этого поставщика с политикой квот.

  • Зарегистрированные пользователи — это пользователи, которым разрешено использовать этот облачный провайдер для обеспечения инфраструктуры. Зарегистрированные пользователи не имеют разрешения на управление или удаление этого облачного провайдера и не смогут просматривать какие-либо учетные данные.
  • Правильные чертежи — это шаблоны Machine Compose, которые можно использовать с этим облачным провайдером. Например, если администратор клиента хочет ограничить пользователей предоставлением компьютеров 4 ГБ в сертифицированных операционных системах, пользователи не смогут использовать этого облачного провайдера для подготовки любого другого компьютера.
  • Ограничение виртуальной машины — это максимальное количество виртуальных машин, которое можно использовать с этим облачным провайдером.
  • Политики квот — это предварительно определенные политики для установки квот на количество виртуальных машин или их стоимость. Можно выбрать несколько политик квот, чтобы настроить элементы управления для каждого пользователя или группы пользователей.

1712363_orig

Шаг 2 — Создайте кластер для OVH

Серверы в гибридных облаках или локальные машины разработки могут быть связаны с кластером, который представляет собой логическое отображение инфраструктуры. Пользователь может создать кластер, перейдя на страницу Clusters и затем нажав кнопку + .

Кластер имеет расширенные параметры, такие как:

  • Аренда — пользователь может указать, когда истекает срок действия приложений, развернутых на серверах в этом кластере, чтобы DCHQ мог автоматически уничтожить эти приложения.
  • Политика размещения — пользователь может выбрать из ряда политик размещения, таких как политика на основе близости, циклический перебор или политика по умолчанию, которая является политикой размещения на основе емкости, которая будет размещать рабочую нагрузку Docker на хосте, который имеет достаточные вычислительные ресурсы. ,
  • Сеть — пользователь может выбрать либо сеть Docker, либо Weave в качестве программно-определяемой сети, чтобы упростить взаимодействие между контейнерами между несколькими хостами.
  • Квота — пользователь может указать, соответствует ли этот кластер профилям квот, назначенным пользователям и группам. Например, в DCHQ.io всем пользователям назначается квота 8 ГБ памяти.
  • Политика автоматического масштабирования — пользователь может определить политику автоматического масштабирования для автоматического добавления серверов, если в кластере не хватает вычислительных ресурсов для удовлетворения потребностей разработчика в новых развертываниях приложений на основе контейнеров.
  • Granular Access Controls — администратор клиента может определить элементы управления доступом к кластеру, чтобы определить, кто может развертывать на нем приложения Docker через уполномоченных пользователей . Например, разработчик может зарегистрировать свой локальный компьютер и пометить его как частный. Администратор клиента, с другой стороны, может совместно использовать кластер с определенной группой пользователей или со всеми пользователями арендатора. Кроме того, владелец кластера может указать, какие шаблоны приложений могут быть развернуты в этом кластере с помощью « Зарезервированных чертежей» . Если кластер будет использоваться в вышестоящих средах, то на нем могут быть развернуты только определенные шаблоны приложений (или «чертежи»).

4116529_orig

Шаг 3. Зарегистрируйте уже запущенные экземпляры OVH ИЛИ предоставьте новые экземпляры публичного облака OVH

Вариант 1. Регистрация уже запущенных экземпляров OVH

Пользователь может зарегистрировать уже запущенный экземпляр OVH. Это можно сделать, перейдя в раздел «Машины» и нажав кнопку « . Затем пользователь может выбрать рабочий процесс « VM / Bare-Metal » и заполнить необходимые поля.

  • Имя — имя сервера, который вы хотите зарегистрировать. Это не обязательно должно быть фактическим именем хоста.
  • IP-адрес — это IP-адрес сервера, который вы регистрируете.
  • Кластер — это кластер, частью которого будет новый сервер. Убедитесь, что вы сначала создали кластер — перед регистрацией серверов или предоставлением новых.

6501008_orig

Когда пользователь нажимает кнопку Сохранить , появляется автоматически созданный сценарий. Вы можете запустить этот скрипт на хосте, который вы пытаетесь зарегистрировать как пользователь root . Скрипт проверяет, установлен ли Docker. Если нет, то будут установлены Docker, агент DCHQ и Weave (необязательно).

Вот как выглядит скрипт с сетью Docker :

1
curl -Ls <dchq.agent.script.url>| bash -s <DCHQ Server Key><dchq.agent.connect.ip><dchq.agent.connect.port> docker.local <strong><New Server IP></strong>

Если вы используете DCHQ On-Premise, вы сможете изменить аргументы по умолчанию, перейдя в « Настройки системы» .

991552_orig

Обратите внимание, что если в этом кластере было включено Weave , сценарий будет следовать этому формату.

завиток -Ls   < dchq.agent.script.url > | bash -s < Ключ сервера DCHQ > < dchq.agent.connect.ip > < dchq.agent.connect.port > weave.local <пароль-weave> <weave.ip>

где <weave.ip> — это IP-адрес первого сервера в кластере Weave

Эта задача может быть автоматизирована программно с помощью нашего REST API для создания «серверов Docker» ( https://dchq.readme.io/docs/dockerservers )

Вариант 2. Предоставление экземпляров OVH с поддержкой Docker

Пользователь может предоставить экземпляры OVH во вновь созданном кластере, определив простой шаблон компоновки машины на основе YAML, который можно запросить из библиотеки самообслуживания.

(Обязательно) Перед созданием шаблона Machine Compose пользователь может безопасно сохранить закрытый ключ (или файл PEM) в хранилище учетных данных. Это можно сделать, перейдя к облачным провайдерам и затем нажав кнопку + , чтобы выбрать учетные данные . Необходимо указать имя пользователя и пароль . После сохранения этого элемента учетных данных нажмите « Изменить» для нового сохраненного элемента, чтобы скопировать вновь созданный идентификатор для этого элемента учетных данных.

9711418_orig

Пользователь может перейти к машинам и затем нажать кнопку + , чтобы выбрать OpenStack .

Если облачный провайдер был зарегистрирован правильно, в меню регионов, вкусов и изображений следует загрузить доступные параметры OVH.

Вот три доступных региона (по состоянию на 11 апреля 2016 г.).

  • Божарнуа в Канаде
  • Гравелин во Франции
  • Страсбург во Франции

2991825_orig

После того, как выбор сделан, нажмите кнопку «Составить машину», чтобы создать шаблон YAML.

3374287_orig

Пользователь может создать шаблон Machine Compose для OVH, перейдя в App & Machine и нажав кнопку + , чтобы выбрать Machine Compose .

Пользователь может скопировать и вставить сгенерированный шаблон Machine Compose из предыдущего рабочего процесса пользовательского интерфейса — однако также необходимы параметры имени пользователя, keyPair и пароля.

Вот шаблон для запроса экземпляра Ubuntu 14.04 с 2 ГБ памяти (VPS-SSD-1) в регионе BHS1 (т. Е. В Канаде).

8242252_orig

Поддерживаемые параметры для шаблона Machine Compose приведены ниже:

  • описание : описание проекта / шаблона
  • instanceType : специфическое значение провайдера облака (например, BHS1 / 550757b3-36c2-4027-b6fe-d70f45304b9c)
  • регион : конкретное значение поставщика облачных услуг (например, BHS1)
  • изображение : обязательно — полное имя ID / имя изображения (например, BHS1 / 6ea6402b-accd-487f-9ff5-175ecebfd10b)
  • username : это имя пользователя, используемое для подключения к серверу
  • пароль : Это может ссылаться на пароль или закрытый ключ, хранящийся в хранилище учетных данных. Требуется идентификатор элемента учетных данных, хранящегося на странице облачных провайдеров. Вот приемлемый формат: «{{credentials | 2c91802a520x3622x01520xa6393098322}}»
  • keyPair : это имя пары ключей, используемой для OpenStack
  • count : общее количество виртуальных машин, по умолчанию 1.

Важно, чтобы вы открыли необходимые входящие порты в вашей группе безопасности.

В дополнение к этим поддерживаемым параметрам вы также заметите, что этот шаблон ссылается на «плагин». Плагин может быть вызван следующим образом:

1
2
3
<strong>  plugins:
- !plugin
id: <plugin-id></strong>

Плагин можно создать, перейдя к плагинам и нажав кнопку + . Плагин — это простой скрипт, который может быть запущен как на предоставляемом сервере, так и в контейнере Docker. Серверные плагины могут использоваться для любого количества требований конфигурации:

  • Установка кукольных модулей, рецептов шеф-повара, Ansible Playbook и т. Д.
  • Получение сертификата CA, необходимого для частного реестра Docker, из безопасного хранилища.

Шаблон Machine Compose имеет дополнительные дополнительные параметры.

  • Профили затрат — это профили затрат, которые можно создать в разделе « Политики» > « Профили затрат» . Вы можете определить стоимость за ресурс на почасовой / еженедельной / ежемесячной основе. К одному шаблону можно прикрепить несколько профилей затрат — например, различные профили затрат для типа экземпляра и т. Д.
  • Зарегистрированные пользователи — это пользователи, которым разрешено использовать этот шаблон для подготовки экземпляров OVH. Зарегистрированные пользователи не имеют разрешения на управление или удаление этого шаблона и могут только использовать его.

133070_orig

После того, как шаблон Machine Compose сохранен, пользователь может запросить этот компьютер из библиотеки самообслуживания. Пользователь может щелкнуть « Настроить», а затем выбрать облачного провайдера и кластер, которые будут использоваться для предоставления экземпляров (ов) OVH.

4852374_orig

После подготовки экземпляра OVH пользователь может отслеживать ключевые статистические данные, такие как ЦП, память, использование диска, извлечение изображений и запуск контейнеров. Это можно сделать, перейдя в « Машины» и выбрав « Мониторинг» в раскрывающемся меню « Управление» .

Терминал в браузере на подготовленном компьютере также доступен. Доступ к нему можно получить, перейдя в « Машины» и выбрав « Терминал» в раскрывающемся меню «Управление».

680338_orig

3587612_orig

Развертывание Java-приложения Docker (Nginx-Tomcat-Solr-MySQL) в выделенных экземплярах OVH

Теперь, когда ваш кластер настроен, вы можете запустить любое приложение Docker на только что созданном сервере. Это можно сделать, перейдя в Библиотеку и затем нажав Настроить на любом из опубликованных шаблонов приложений. Затем вы можете выбрать кластер и нажать кнопку « Выполнить» .

Ознакомьтесь с нашими опубликованными шаблонами приложений Docker, включая многоуровневые стеки Java, стеки LAMP, LAOP и LAPP, Node.js, Rails, Python, набор реплик Mongo, кластер Couchbase, MEAN.JS, WordPress, Drupal и многие другие. https://www.dchq.io/landing/products.html#/library?org=DCHQ

Создание шаблона приложения

Docker Compose — это шаблон YAML для определения многоуровневых или распределенных приложений с несколькими образами, которые могут работать на любом хосте Linux с поддержкой Docker, работающем где угодно.

После входа в DCHQ (либо размещенную версию DCHQ.io, либо локальную версию) пользователь может перейти к App & Machine и нажать кнопку + , чтобы создать новый шаблон Docker Compose .

Вот пример шаблона, который содержит следующие компоненты:
Nginx — для обратного прокси и балансировки нагрузки
Tomcat — сервер приложений, на котором выполняется приложение Java
Solr — использовать для полнотекстового поиска в приложении
MySQL — базовая база данных

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Nginx:
  image: nginx:latest
  publish_all: true
  mem_min: 50m
  host: host1
  plugins:
    - !plugin
      id: 0H1Nk
      restart: true
      lifecycle: on_create, post_scale_out:AppServer, post_scale_in:AppServer
      arguments:
        # Use container_private_ip if you're using Docker networking
        - servers=server {{AppServer | container_private_ip}}:8080;
        # Use container_hostname if you're using Weave networking
        #- servers=server {{AppServer | container_hostname}}:8080;
AppServer:
  image: tomcat:8.0.21-jre8
  mem_min: 600m
  host: host1
  cluster_size: 1
  environment:
    - database_driverClassName=com.mysql.jdbc.Driver
    - database_url=jdbc:mysql://{{MySQL|container_hostname}}:3306/{{MySQL|MYSQL_DATABASE}}
    - database_username={{MySQL|MYSQL_USER}}
    - database_password={{MySQL|MYSQL_ROOT_PASSWORD}}
    - solr_host={{Solr|container_private_ip}}
    - solr_port=8983
  plugins:
    - !plugin
      id: oncXN
      restart: true
      arguments:
        - file_url=https://github.com/dchqinc/dchq-docker-java-solr-mongo-cassandra-example/raw/master/dbconnect.war
        - dir=/usr/local/tomcat/webapps/ROOT.war
        - delete_dir=/usr/local/tomcat/webapps/ROOT
Solr:
  image: solr:latest
  mem_min: 300m
  host: host1
  publish_all: false
  plugins:
    - !plugin
      id: doX8s
      restart: true
      arguments:
        - file_url=https://github.com/dchqinc/dchq-docker-java-solr-mongo-cassandra-example/raw/master/names.zip
MySQL:
  image: mysql:latest
  host: host1
  mem_min: 400m
  environment:
    - MYSQL_USER=root
    - MYSQL_DATABASE=names
    - MYSQL_ROOT_PASSWORD={{alphanumeric|8}}

5023878_orig

Использование привязок переменных среды для захвата сложных зависимостей приложений

Пользователь может создавать привязки переменных окружения между изображениями, делая ссылку на переменную окружения другого изображения. В этом случае мы сделали несколько привязок, в том числе database_url = jdbc: mysql: // {{MySQL | имя_контейнера}}: 3306 / {{MySQL | MYSQL_DATABASE}}, в которых внутренний IP-адрес контейнера базы данных динамически разрешается по запросу время и используется, чтобы Tomcat мог установить соединение с базой данных.

Вот список поддерживаемых значений переменных среды:

  • {{буквенно-цифровой | 8}} — создает случайную 8-символьную буквенно-цифровую строку. Это наиболее полезно для создания случайных паролей.
  • {{Имя изображения | ip}} — позволяет ввести IP-адрес хоста контейнера в качестве значения для переменной среды. Это наиболее полезно для разрешения уровня промежуточного программного обеспечения устанавливать соединение с базой данных.
  • {{Имя изображения | имя_контейнера}} или {{Имя изображения | container_ip}} — позволяет ввести имя контейнера в качестве значения для переменной среды. Это наиболее полезно для разрешения уровня промежуточного программного обеспечения устанавливать безопасное соединение с базой данных (без предоставления порта базы данных).
  • {{Имя изображения | container_private_ip}} — позволяет ввести внутренний IP-адрес контейнера в качестве значения для переменной среды. Это наиболее полезно для разрешения уровня промежуточного программного обеспечения устанавливать безопасное соединение с базой данных (без предоставления порта базы данных).
  • {{Имя изображения | port_Port Number}} — позволяет ввести номер порта контейнера в качестве значения для переменной среды. Это наиболее полезно для разрешения уровня промежуточного программного обеспечения устанавливать соединение с базой данных. В этом случае указанный номер порта должен быть внутренним номером порта, то есть не внешним портом, который выделен для контейнера. Например, {{PostgreSQL | port_5432}} будет преобразован в фактический внешний порт, который позволит промежуточному программному обеспечению установить соединение с базой данных.
  • {{Имя изображения | Имя переменной среды}} — позволяет ввести значение переменной окружения изображения в переменную окружения другого изображения. Варианты использования здесь бесконечны — так как большинство многоуровневых приложений будут иметь зависимости между изображениями.

Использование плагинов для Service Discovery и параметра host для развертывания высокодоступного приложения Java

Вы заметите, что параметр cluster_size позволяет вам указать количество контейнеров для запуска (с теми же зависимостями приложения). В этом случае кластер серверов приложений Tomcat можно развернуть, указав cluster_size .

Параметр host позволяет указать хост, который вы хотите использовать для развертывания контейнера. Это возможно, если вы выбрали Weave в качестве сетевого слоя при создании кластеров . Таким образом, вы можете обеспечить высокую доступность кластеров серверов приложений на разных хостах (или в разных регионах) и соблюдать правила соответствия, чтобы база данных работала, например, на отдельном хосте. Вот значения, поддерживаемые для параметра хоста:

  • host1, host2, host3 и т. д. — случайным образом выбирает хост в дата-центре (или кластере) для развертывания контейнера
  • IP-адрес 1, IP-адрес 2 и т. Д. — позволяет пользователю указать фактические IP-адреса для использования при развертывании контейнера
  • Имя хоста 1, Имя хоста 2 и т. Д. — позволяет пользователю указать фактические имена хостов, которые будут использоваться для развертывания контейнеров
  • Подстановочные знаки (например, «db- » или «app-srv- ») — для указания подстановочных знаков для использования в имени хоста

Инфраструктура обнаружения служб в DCHQ предоставляет управляемые событиями этапы жизненного цикла, которые выполняют пользовательские сценарии для повторной настройки компонентов приложения. Это очень важно при масштабировании кластеров, для которых балансировщик нагрузки может потребоваться переконфигурировать или набор реплик может потребоваться перебалансировать.

Вы заметите, что плагин Nginx выполняется на следующих этапах или событиях:

  • Когда создается контейнер Nginx — в этом случае IP- адреса контейнеров серверов приложений внедряются в файл конфигурации по умолчанию, чтобы упростить балансировку нагрузки для нужных сервисов.
  • Когда кластер серверов приложений масштабируется или масштабируется — в этом случае обновленные IP- адреса контейнеров серверов приложений внедряются в файл конфигурации по умолчанию, чтобы упростить распределение нагрузки для нужных сервисов.
  • Когда серверы приложений останавливаются или запускаются — в этом случае обновленные IP- адреса контейнеров серверов приложений внедряются в файл конфигурации по умолчанию, чтобы облегчить балансировку нагрузки для нужных сервисов.

Таким образом, инфраструктура обнаружения служб здесь выполняет как регистрацию служб (путем отслеживания IP-адресов контейнера и значений переменных среды), так и обнаружение служб (путем выполнения правильных сценариев во время определенных событий или этапов).

Параметр жизненного цикла в подключаемых модулях позволяет указать точную стадию или событие для выполнения подключаемого модуля. Если жизненный цикл не указан, то по умолчанию плагин будет выполняться on_create . Вот поддерживаемые этапы жизненного цикла:

  • on_create — выполняет плагин при создании контейнера
  • on_startзапускает плагин после запуска контейнера
  • on_stop — выполняет плагин до остановки контейнера
  • on_destroy — выполняет плагин перед уничтожением контейнера
  • post_create — выполняет плагин после того, как контейнер создан и запущен
  • post_start [: Node] — запускает плагин после запуска другого контейнера
  • post_stop [: Node]запускает плагин после остановки другого контейнера
  • post_destroy [: Node]запускает плагин после уничтожения другого контейнера
  • post_scale_out [: Node]запускает плагин после масштабирования другого кластера
  • post_scale_in [: Node]запускает плагин после масштабирования другого кластера

Развертывание приложения Java на OVH

Это можно сделать, перейдя в Библиотеку и затем нажав Настроить на любом из опубликованных шаблонов приложений. Затем вы можете выбрать кластер и нажать кнопку « Выполнить» .

8492927_orig

Доступ к развернутому приложению

Как только приложение развернуто, пользователи получают доступ к мониторингу, оповещениям, непрерывной доставке, резервному копированию приложений, масштабированию ввода / вывода, терминалу в браузере для доступа к контейнерам, потоковой передаче журнала и обновлениям приложения.

Чтобы получить доступ к приложению, пользователь может просто щелкнуть по открытому порту для Nginx.

4458895_orig

1847868_orig

Контролировать производительность контейнеров

Когда приложение запущено и запущено, пользователи могут отслеживать ЦП, память и ввод-вывод запущенных контейнеров, чтобы получать оповещения, когда эти показатели превышают заранее установленный порог. DCHQ также отслеживает базовые экземпляры OVH, на которых запущено приложение, — собирая такие метрики, как CPU. Память и использование диска.

Пользователь может выполнять исторический анализ мониторинга и соотносить проблемы с обновлениями контейнеров или создавать развертывания. Это можно сделать, нажав на ссылку Статистика . Пользовательский диапазон дат может быть выбран для исторического просмотра процессора, памяти и ввода / вывода.

2812849_orig

Масштабирование приложения

Если запущенное приложение становится ограниченным в ресурсах, пользователь может масштабировать приложение для удовлетворения растущей нагрузки. Кроме того, пользователь может запланировать масштабирование в рабочее время и масштабирование, например, в выходные дни.

Чтобы масштабировать кластер серверов Tomcat от 1 до 2, пользователь может щелкнуть меню « Действия» запущенного приложения и затем выбрать « Масштабировать» . Затем пользователь может указать новый размер кластера и нажать « Запустить сейчас» .

По мере уменьшения масштаба будет использоваться среда Service Discovery для обновления балансировщика нагрузки. В Nginx автоматически запускается плагин для обновления файла default.conf в Nginx, чтобы он знал о добавленном новом сервере приложений. Это потому, что мы указали post_scale_out: AppServer в качестве события жизненного цикла для этого плагина.

Временная шкала приложения доступна для отслеживания каждого изменения, внесенного в приложение для аудита и диагностики. Доступ к нему можно получить из расширяемого меню внизу страницы работающего приложения. В этом случае платформа Service Discovery автоматически запускала подключаемый модуль Apache HTTP Server сразу после масштабирования кластера сервера приложений.

7982755_orig

6161200_orig

Доступ к терминалу в браузере для контейнеров

Значок командной строки должен быть доступен рядом с именами контейнеров на странице Live Apps. Это позволяет пользователям входить в контейнер с использованием безопасного протокола связи через очередь сообщений агента. Администратор клиента может определить белый список команд, чтобы пользователи не вносили никаких вредных изменений в работающие контейнеры.

Например, для контейнера Nginx мы использовали командную строку, чтобы убедиться, что новый контейнер IP был добавлен автоматически после завершения масштабирования.

8482717_orig

8848857_orig

Скачать DCHQ On-Premise сейчас