Развертывание ЕдиногоАгента на Mesos/Marathon: различия между версиями

Материал из Документация Ключ-АСТРОМ
(Новая страница: «'''Mesos''' — это универсальный менеджер ресурсов кластера, который можно использовать совм...»)
 
 
Строка 35: Строка 35:
|Если вы не используете DC/OS, вы можете запустить ЕдиныйАгент как приложение Marathon, следуя этому примеру.
|Если вы не используете DC/OS, вы можете запустить ЕдиныйАгент как приложение Marathon, следуя этому примеру.


* Используйте команду <code>cat</code> для создания файла <code>dynatrace-oneagent.json</code>. Перед запуском отредактируйте JSON-часть из приведенного ниже примера и замените два заполнителя данными, специфичными для вашего кластера Mesos:
* Используйте команду <code>cat</code> для создания файла <code>astromkey-oneagent.json</code>. Перед запуском отредактируйте JSON-часть из приведенного ниже примера и замените два заполнителя данными, специфичными для вашего кластера Mesos:
** <code>REPLACE_WITH_YOUR_URL</code> место, которое вам было определено ранее, <code>ONEAGENT_INSTALLER_SCRIPT_URL</code> — это именно то, что вам нужно.
** <code>REPLACE_WITH_YOUR_URL</code> место, которое вам было определено ранее, <code>ONEAGENT_INSTALLER_SCRIPT_URL</code> — это именно то, что вам нужно.
** <code>REPLACE_WITH_NUMBER_OF_NODES</code> это целое число, представляющее количество узлов в вашем кластере Mesos.
** <code>REPLACE_WITH_NUMBER_OF_NODES</code> это целое число, представляющее количество узлов в вашем кластере Mesos.


{| class="wikitable"
|-
|cat <<- EOF > astromkey-oneagent.json


cat <<- EOF > dynatrace-oneagent.json {
{
"id": "dynatrace-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": "dynatrace/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
|}
cat <<- EOF > dynatrace-oneagent.json {
  "id": "dynatrace-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": "dynatrace/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


cat <<- EOF > dynatrace-oneagent.json {
"id": "astromkey-oneagent",
  "id": "dynatrace-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": "dynatrace/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
 
cat <<- EOF > dynatrace-oneagent.json {
 
"id": "dynatrace-oneagent",


"cpus": 0.1,
"cpus": 0.1,


"mem": 256,
"mem": 256,
"instances": REPLACE_WITH_NUMBER_OF_NODES,
"instances": REPLACE_WITH_NUMBER_OF_NODES,
"constraints": [["hostname", "UNIQUE"], ["hostname", "GROUP_BY"]],
"constraints": [["hostname", "UNIQUE"], ["hostname", "GROUP_BY"]],
"container": {
"container": {
"type": "DOCKER",
"type": "DOCKER",
"volumes": [
"volumes": [
{
{
"containerPath": "/mnt/root",
"containerPath": "/mnt/root",
"hostPath": "/",
"hostPath": "/",
"mode": "RW"
"mode": "RW"
}
}
],
],
"docker": {
"docker": {
"image": "dynatrace/oneagent",
 
"image": "astromkey/oneagent",
 
"forcePullImage": true,
"forcePullImage": true,
"network": "HOST",
"network": "HOST",
"privileged": true,
"privileged": true,
"parameters": [
"parameters": [
{ "key": "pid", "value": "host" },
{ "key": "pid", "value": "host" },
{ "key": "ipc", "value": "host" },
{ "key": "ipc", "value": "host" },
{ "key": "env", "value": "ONEAGENT_INSTALLER_SCRIPT_URL=REPLACE_WITH_YOUR_URL" },
{ "key": "env", "value": "ONEAGENT_INSTALLER_SCRIPT_URL=REPLACE_WITH_YOUR_URL" },
{ "key": "env", "value": "ONEAGENT_INSTALLER_SKIP_CERT_CHECK=false "}
{ "key": "env", "value": "ONEAGENT_INSTALLER_SKIP_CERT_CHECK=false "}
]
]
}
}
},
},
"args": [
"args": [
]
]


} EOF
}  
 
EOF
|}
 
* После создания файла <code>astromkey-oneagent.json</code> отправьте HTTP POST-запрос главному серверу Mesos для развертывания приложения Marathon с помощью ЕдиногоАгента.
 
{| class="wikitable"
|-
|curl -X POST -H "Content-Type: application/json" <nowiki>http://your-mesos-master:8080/v2/apps</nowiki> -d@astromkey-oneagent.json
|}
|}
2. Разверните ЕдиныйАгент на главных узлах Mesos.
 
'''Marathon''' не позволяет развертывать приложения на главных узлах (за исключением узлов, помеченных как главный и агент одновременно). Поэтому необходимо вручную установить ЕдиныйАгент на всех главных узлах Mesos, которые не настроены дополнительно как агенты Mesos. Для этого используйте стандартный [[ЕдиныйАгент Ключ-АСТРОМ|установщик Linux]].

Текущая версия на 23:48, 10 декабря 2025

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.