У меня есть сервер с докеризированным агентом Consul (CA). В этом CA я хочу запустить скрипт с хоста, который проверяет, сколько места на диске осталось в сервисной проверке.
Для этого я создал сервис в ЦС:
{
"оказание услуг": {
"имя": "использование диска-var-re7",
"метки": [
"тип: проверить",
"окружение: re7"
],
"чеки": [
{
"id": "использование диска-var-re7",
"name": "Использование диска /var RE7",
"аргументы": [
"ш",
"-с",
"ssh consul@hostserver 'disk_usage.sh /dev/mapper/centos-var'"
],
"интервал": "5с",
"тайм-аут": "30 с"
}
]
}
}
Но когда Консул запускает его, я получаю эту ошибку: Ошибка проверки ключа хоста.
Я использую официальный образ Docker от Consul (Alpine) версии 1.6.1 и выполнил следующие команды в контейнере:
docker exec consul apk добавить openssh
docker exec -it консул ssh-keygen -t rsa
docker cp консул:/root/.ssh/id_rsa.pub/tmp
Су консул
umask 077 && mkdir ~/.ssh
umask 077 && коснитесь ~/.ssh/authorized_keys
кот /tmp/id_rsa.pub > /home/consul/.ssh/authorized_keys
rm -f /tmp/id_rsa.pub
Когда я пытаюсь
docker exec -it консул ssh consul@hostserver 'disk_usage.sh /dev/mapper/centos-var'
В первый раз SSH спрашивает меня:
Невозможно установить подлинность хоста hostserver (::1).
Отпечаток ключа ECDSA: SHA256:MlsT6sDr9xXuOurqBJu4e+a8m2De3Lu4ctJSB+5RNmk.
Вы уверены, что хотите продолжить подключение (да/нет)? да
Предупреждение: «хост-сервер» (ECDSA) навсегда добавлен в список известных хостов.
И после этого скрипт все еще работает. Но не с чеком Консула.
Что я делаю не так?
Большое спасибо.