Развертывание ЕдиногоАгента на Mesos/Marathon

Материал из Документация Ключ-АСТРОМ

Mesos — это универсальный менеджер ресурсов кластера, который можно использовать совместно с фреймворком Marathon для запуска контейнеров в распределенных средах.

Для мониторинга приложений, работающих в кластерах Mesos, мы рекомендуем развернуть ЕдиныйАгент на всех агентских узлах Mesos с помощью развертывания приложения Marathon. После этого установите ЕдиныйАгент на главных узлах Mesos, как описано на этой странице.

Найдите URL-адрес установщика ЕдиныйАгент

Первый шаг — получить информацию о местоположении файла ONEAGENT_INSTALLER_SCRIPT_URL. Эта информация будет предоставлена ​​вам во время установки ЕдиногоАгента.

Чтобы получить свой ONEAGENT_INSTALLER_SCRIPT_URL

  1. В разделе Расширения выберите ЕдиныйАгент.
  2. Выберите Настройка > Linux.
  3. Определите URL-адрес и токен скрипта установки с помощью команды, предоставленной пользовательским интерфейсом wget:
Версия образа контейнера ЕдиныйАгент: 1.39.1000+ Образ контейнера ЕдиныйАгент версии 1.38.1000 и более ранних
Замените значение параметра arch на <arch>. Игнорируйте параметр flavor=default.

Ваш URL-адрес должен выглядеть примерно так: https://host.domain.com/api/v1/deployment/installer/agent/unix/default/latest?arch=<arch>

Это ваш ONEAGENT_INSTALLER_SCRIPT_URL.

Добавьте токен API к URL-адресу, используя параметр API-Token. Ваш URL-адрес должен выглядеть примерно так:

https://host.domain.com/api/v1/deployment/installer/agent/unix/default/latest?arch=x86&flavor=default&Api-Token=<token>

Это ваш ONEAGENT_INSTALLER_SCRIPT_URL.

Установка ЕдиногоАгента

1. Разверните ЕдиныйАгент на агентских узлах Mesos.

Если вы используете DC/OS Если вы не используете DC/OS
Если вы используете DC/OS для управления кластером Mesos, вы можете воспользоваться пакетом Ключ-АСТРОМ из пакета DC/OS universe. Этот пакет автоматически развернет Ключ-АСТРОМ на всех узлах агентов Mesos. Если вы не используете DC/OS, вы можете запустить ЕдиныйАгент как приложение Marathon, следуя этому примеру.
  • Используйте команду cat для создания файла astromkey-oneagent.json. Перед запуском отредактируйте JSON-часть из приведенного ниже примера и замените два заполнителя данными, специфичными для вашего кластера Mesos:
    • REPLACE_WITH_YOUR_URL место, которое вам было определено ранее, ONEAGENT_INSTALLER_SCRIPT_URL — это именно то, что вам нужно.
    • REPLACE_WITH_NUMBER_OF_NODES это целое число, представляющее количество узлов в вашем кластере Mesos.
cat <<- EOF > astromkey-oneagent.json

{

"id": "astromkey-oneagent",

"cpus": 0.1,

"mem": 256,

"instances": REPLACE_WITH_NUMBER_OF_NODES,

"constraints": [["hostname", "UNIQUE"], ["hostname", "GROUP_BY"]],

"container": {

"type": "DOCKER",

"volumes": [

{

"containerPath": "/mnt/root",

"hostPath": "/",

"mode": "RW"

}

],

"docker": {

"image": "astromkey/oneagent",

"forcePullImage": true,

"network": "HOST",

"privileged": true,

"parameters": [

{ "key": "pid", "value": "host" },

{ "key": "ipc", "value": "host" },

{ "key": "env", "value": "ONEAGENT_INSTALLER_SCRIPT_URL=REPLACE_WITH_YOUR_URL" },

{ "key": "env", "value": "ONEAGENT_INSTALLER_SKIP_CERT_CHECK=false "}

]

}

},

"args": [

]

}

EOF

  • После создания файла astromkey-oneagent.json отправьте HTTP POST-запрос главному серверу Mesos для развертывания приложения Marathon с помощью ЕдиногоАгента.
curl -X POST -H "Content-Type: application/json" http://your-mesos-master:8080/v2/apps -d@astromkey-oneagent.json

2. Разверните ЕдиныйАгент на главных узлах Mesos.

Marathon не позволяет развертывать приложения на главных узлах (за исключением узлов, помеченных как главный и агент одновременно). Поэтому необходимо вручную установить ЕдиныйАгент на всех главных узлах Mesos, которые не настроены дополнительно как агенты Mesos. Для этого используйте стандартный установщик Linux.