Контейнер Couchbase Docker может легко работать на различных платформах оркестровки:
Контейнер Docker с использованием Apache Mesos и Marathon объяснил, как настроить Mesos, Marathon и запустить простой образ Docker. Установка была довольно сложной и немного облупленной.
Требуется загрузить и установить Mesos Master и Slave, ZooKeeper, Docker Engine и Marathon. В некоторых случаях правильный репо необходимо добавить в первую очередь. Эти компоненты должны общаться друг с другом и должны быть настроены соответствующим образом. Даже если вы пройдете эту настройку, как вы будете контролировать всю инфраструктуру как единое целое?
Встречайте DC / OS — операционную систему ЦОД. Это распределенная операционная система, использующая Apache Mesos в качестве ядра.
DC / OS может быть установлен различными способами:
- Локальное использование Vagrant
- Облако с использованием Amazon / CloudFormation, Microsoft Azure и Packet
- Предварительно используя CentOS или CoreOS
В этом блоге будет показано, как настроить кластер DC / OS с помощью шаблонов CloudFormation на Amazon и запустить контейнер Couchbase Docker.
Запустить кластер DC / OS
Возьмите значения по умолчанию:
Дайте шаблону имя, выберите ранее созданную KeyPair, измените количество ведомых:
Возьмите значения по умолчанию:
Проверьте конфигурацию:
Нажмите «Я подтверждаю, что…» и «Создать», чтобы начать создание шаблона.
Откроется страница статуса стека CloudFormation :
Обязательно выберите подходящий регион.
Через ~ 10-15 минут статус меняется:
Подождите, пока статус не изменится с CREATE_IN_PROGRESS
на CREATE_COMPLETE.
Загрузите и настройте интерфейс командной строки DC / OS
Интерфейс командной строки DC / OS можно использовать для управления узлами кластера, установки пакетов DC / OS, проверки состояния кластера и администрирования подкоманд службы DC / OS.
Установите DC / OS CLI на свой локальный компьютер.
На странице состояния стека CloudFormation выберите созданный стек, вкладку « Outputs
» и скопируйте адрес Mesos master
.
Настройте интерфейс командной строки 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:
Скопируйте токен в буфер обмена:
Вставьте токен аутентификации в окне терминала:
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:
Нажмите на Services
чтобы увидеть, что сервис Marathon уже установлен:
Нажмите на марафон, чтобы увидеть список задач:
Как и ожидалось для вновь созданного кластера, задачи еще не назначены.
Нажмите на Nodes
чтобы увидеть узлы:
Установите и настройте 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:
AWS Load Balancer позволяет использовать порты 80 и 443 по умолчанию. Мы запустим сервер Couchbase, который будет доступен через порт 8091.
На странице состояния стека CloudFormation скопируйте значение из столбца Values
PublicSlaveDnsAddress
:
В консоли AWS выберите «Балансировщики нагрузки» и добавьте новое правило брандмауэра, чтобы разрешить порт 8091 для TCP:
Запустите контейнер 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.
Это показывает страницу входа в систему как:
Введите учетные данные для входа в систему как Administrator
и password
:
Нажмите на Sign In
чтобы увидеть:
Узнайте больше о веб-консоли Couchbase .
Пользовательский интерфейс Marathon обновлен, чтобы показать все запущенные сервисы:
Журнал изображений Couchbase Docker можно увидеть в Log Viewer:
И стандартный вывод вывода:
Панель инструментов Mesos обновлена для отображения ресурсов, которые используются:
Наконец, весь стек можно удалить со страницы шаблона StackFormation:
Дальнейшее чтение:
- Последние документы по DC / OS
- Руководство по установке DC / OS
- Начните с DC / OS
- Управляйте своим DC / OS кластером
- Обнаружение услуг и распределение нагрузки с DC / OS
- Slack Channel DC / OS
- Начни с Couchbase
Наслаждайтесь!
Теперь вы видели 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… . |