Статьи

Couchbase на Mesos с использованием DC / OS и Amazon

Контейнер Couchbase Docker может легко работать на различных платформах оркестровки:

Контейнер Docker с использованием Apache Mesos и Marathon объяснил, как настроить Mesos, Marathon и запустить простой образ Docker. Установка была довольно сложной и немного облупленной.

Требуется загрузить и установить Mesos Master и Slave, ZooKeeper, Docker Engine и Marathon. В некоторых случаях правильный репо необходимо добавить в первую очередь. Эти компоненты должны общаться друг с другом и должны быть настроены соответствующим образом. Даже если вы пройдете эту настройку, как вы будете контролировать всю инфраструктуру как единое целое?

Встречайте DC / OS — операционную систему ЦОД. Это распределенная операционная система, использующая Apache Mesos в качестве ядра.

DCOS-ядро-1024x444

DC / OS может быть установлен различными способами:

  • Локальное использование Vagrant
  • Облако с использованием Amazon / CloudFormation, Microsoft Azure и Packet
  • Предварительно используя CentOS или CoreOS

В этом блоге будет показано, как настроить кластер DC / OS с помощью шаблонов CloudFormation на Amazon и запустить контейнер Couchbase Docker.

Запустить кластер DC / OS

Запустите кластер DC / OS :

стек запуска

Возьмите значения по умолчанию:

DCOS-couchbase-2

Дайте шаблону имя, выберите ранее созданную KeyPair, измените количество ведомых:

DCOS-couchbase-3

Возьмите значения по умолчанию:

DCOS-couchbase-4

Проверьте конфигурацию:

DCOS-couchbase-5

Нажмите «Я подтверждаю, что…» и «Создать», чтобы начать создание шаблона.

Откроется страница статуса стека CloudFormation :

DCOS-couchbase--

Обязательно выберите подходящий регион.

Через ~ 10-15 минут статус меняется:

DCOS-couchbase-7

Подождите, пока статус не изменится с CREATE_IN_PROGRESS на CREATE_COMPLETE.

Загрузите и настройте интерфейс командной строки DC / OS

Интерфейс командной строки DC / OS можно использовать для управления узлами кластера, установки пакетов DC / OS, проверки состояния кластера и администрирования подкоманд службы DC / OS.

Установите DC / OS CLI на свой локальный компьютер.

На странице состояния стека CloudFormation выберите созданный стек, вкладку « Outputs » и скопируйте адрес Mesos master .

DCOS-couchbase-8

Настройте интерфейс командной строки DC / OS для использования этого кластера:

1
2
./bin/dcos config set core.dcos_url https://couchbase-ElasticL-14LTDN783Y89T-1791879285.us-west-1.elb.amazonaws.com
[core.dcos_url]: changed from 'http://couchbase-ElasticL-UJ5K6BOZQX59-570103311.us-west-1.elb.amazonaws.com' to 'https://couchbase-ElasticL-14LTDN783Y89T-1791879285.us-west-1.elb.amazonaws.com

Аутентифицировать:

1
2
3
4
5
6
7
8
./bin/dcos auth login
Removed [core.dcos_acs_token]
  
Please go to the following link in your browser:
  
    https://couchbase-ElasticL-14LTDN783Y89T-1791879285.us-west-1.elb.amazonaws.com/login?redirect_uri=urn:ietf:wg:oauth:2.0:oob
  
Enter authentication token:

Введите URL в браузере, перейдите к небезопасному URL:

DCOS-couchbase-9

Скопируйте токен в буфер обмена:

DCOS-couchbase-10

Вставьте токен аутентификации в окне терминала:

1
2
3
Enter authentication token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik9UQkVOakZFTWtWQ09VRTRPRVpGTlRNMFJrWXlRa015Tnprd1JrSkVRemRCTWpBM1FqYzVOZyJ9.eyJlbWFpbCI6ImFydW4uZ3VwdGFAZ21haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImlzcyI6Imh0dHBzOi8vZGNvcy5hdXRoMC5jb20vIiwic3ViIjoiZ29vZ2xlLW9hdXRoMnwxMDExOTUyMTI0MDUxOTA0Njc1MTIiLCJhdWQiOiIzeUY1VE9TemRsSTQ1UTF4c3B4emVvR0JlOWZOeG05bSIsImV4cCI6MTQ2MzM1MjA1MSwiaWF0IjoxNDYyOTIwMDUxfQ.tFOy6GBPhnDbP0hI1ZU6jjlogHi4DX2bAGcdYsLywfCEMmv5OU9fUL88v2Kebjgd6gNAJoDF8QiO8zkQ3c4PGifXjiEoay8USjSWpnMbbezkH3AwIZM_-WNVVm0nfIBnCiY5wIgHkCpG_n4oBGdBbMgggtRPUrwPasNPtC_eYbQfwJeM3ByTUaTsarNe3FERbTpQbhKx2Lfc8Xp8AXuW8Up65SbOZr3Kp_jehiLgR-DL6llB4wZDopf8mjnq_5lpOYMtSaHPTlA33tdnhmHi6dPCPeRQEI1qBM6sWUWKs02kT1u42nOF9IYrKrfkzjb4LxwtZdsQt8Jb8CtJHkU0KA
[core.dcos_acs_token]: set
Login successful!

Мезос и Марафон UI

Пользовательский интерфейс Mesos доступен по адресу мастера Mesos:

DCOS-couchbase-11

Нажмите на Services чтобы увидеть, что сервис Marathon уже установлен:

DCOS-couchbase-12

Нажмите на марафон, чтобы увидеть список задач:

DCOS-couchbase-13

Как и ожидалось для вновь созданного кластера, задачи еще не назначены.

Нажмите на Nodes чтобы увидеть узлы:

DCOS-couchbase-14

Установите и настройте Marathon Load Balancer

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

Marathon-lb , сокращение от Marathon Load Balancer, является балансировщиком нагрузки, доступным в качестве службы Mesos. Он основан на HAProxy, который обеспечивает прокси и балансировку нагрузки для приложений на базе TCP и HTTP, с такими функциями, как поддержка SSL, сжатие HTTP, проверка работоспособности и многое другое. Marathon-lb подписывается на шину событий Marathon и обновляет конфигурацию HAProxy в режиме реального времени.

1
2
3
4
5
6
dcos package install marathon-lb
We recommend a minimum of 0.5 CPUs and 256 MB of RAM available for the Marathon-LB DCOS Service.
Continue installing? [yes/no] yes
Installing Marathon app for package [marathon-lb] version [1.2.1]
Marathon-lb DCOS Service has been successfully installed!
See https://github.com/mesosphere/marathon-lb for documentation.

Пользовательский интерфейс службы Marathon покажет выполнение задачи LB:

DCOS-couchbase-15

AWS Load Balancer позволяет использовать порты 80 и 443 по умолчанию. Мы запустим сервер Couchbase, который будет доступен через порт 8091.

На странице состояния стека CloudFormation скопируйте значение из столбца Values PublicSlaveDnsAddress :

DCOS-couchbase-16

В консоли AWS выберите «Балансировщики нагрузки» и добавьте новое правило брандмауэра, чтобы разрешить порт 8091 для TCP:

DCOS-couchbase-17

Запустите контейнер Docker сервера Couchbase в DC / OS

Запустите контейнер Docker сервера Couchbase в DC / OS, используя следующий файл конфигурации:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "id": "couchbase-mesos",
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "arungupta/couchbase",
      "network": "BRIDGE",
      "portMappings": [
        { "hostPort": 0, "containerPort": 8091, "servicePort": 8091 },
        { "hostPort": 0, "containerPort": 8092, "servicePort": 8092 },
        { "hostPort": 0, "containerPort": 8093, "servicePort": 8093 },
        { "hostPort": 0, "containerPort": 11210, "servicePort": 11210 }
      ],
      "forcePullImage":true
    }
  },
  "instances": 1,
  "cpus": 2.0,
  "mem": 2048,
  "labels":{
    "HAPROXY_GROUP":"external"
  }
}

В этом файле конфигурации используется образ arungupta / couchbase, который настраивает сервер Couchbase с помощью предварительно определенного API-интерфейса REST Couchbase . Это изображение Couchbase Docker Image .

Атрибуты cpus и mem определяют объем памяти, необходимый для выполнения этой задачи.

Дайте команду для запуска Couchbase в кластере DC / OS:

1
~/tools/dcos/dcos/bin/dcos marathon app add couchbase-mesos.json

Используйте ранее скопированный для PublicSlaveDnsAddress и получите доступ к веб-консоли Couchbase по адресу http: // <URI>: 8091. В нашем случае URL-адрес: http://couchbase-publicsl-vjzmwpa38k6d-429093455.us-west-1.elb.amazonaws.com:8091/index.html.

Это показывает страницу входа в систему как:

DCOS-couchbase-18

Введите учетные данные для входа в систему как Administrator и password :

DCOS-couchbase-19

Нажмите на Sign In чтобы увидеть:

DCOS-couchbase-20

Узнайте больше о веб-консоли Couchbase .

Пользовательский интерфейс Marathon обновлен, чтобы показать все запущенные сервисы:

DCOS-couchbase-21

Журнал изображений Couchbase Docker можно увидеть в Log Viewer:

DCOS-couchbase-22

И стандартный вывод вывода:

DCOS-couchbase-23

Панель инструментов Mesos обновлена ​​для отображения ресурсов, которые используются:

DCOS-couchbase-24

Наконец, весь стек можно удалить со страницы шаблона StackFormation:

DCOS-couchbase-25

Дальнейшее чтение:

Наслаждайтесь!

Теперь вы видели Couchbase в Docker Swarm , Couchbase в Kubernetes , Couchbase в OpenShift 3 . В этом блоге показано, как запустить образ Couchbase Docker в Mesos и DC / OS.

Где еще вы хотите запустить контейнер Couchbase?

Ссылка: Couchbase на Mesos с использованием DC / OS и Amazon от нашего партнера по JCG Аруна Гупта в блоге Miles to go 3.0… .