Am un server cu un agent consul (CA) dockerizat. În acest CA, vreau să rulez un script de la gazdă care verifică cât spațiu pe disc rămâne într-o verificare a serviciului.
Pentru aceasta, am creat un serviciu în CA:
{
„serviciu”: {
"name": "disk-usage-var-re7",
"Etichete": [
"tip:verificare",
"env:re7"
],
„verificări”: [
{
"id": "disk-usage-var-re7",
"name": "Utilizarea discului /var RE7",
„args”: [
"SH",
"-c",
„ssh consul@hostserver 'disk_usage.sh /dev/mapper/centos-var'”
],
"interval": "5s",
"timeout": "30s"
}
]
}
}
Dar, când Consul îl conduce, am primit această eroare: Verificarea cheii gazdei nu a reușit.
Folosesc imaginea oficială Docker de la Consul (Alpine), versiunea 1.6.1, și am executat aceste comenzi în container:
docker exec consul apk adăuga openssh
docker exec -it consul ssh-keygen -t rsa
docker cp consul:/root/.ssh/id_rsa.pub /tmp
su consul
umask 077 && mkdir ~/.ssh
umask 077 && atingeți ~/.ssh/authorized_keys
cat /tmp/id_rsa.pub > /home/consul/.ssh/authorized_keys
rm -f /tmp/id_rsa.pub
Când încerc
docker exec -it consul ssh consul@hostserver 'disk_usage.sh /dev/mapper/centos-var'
Prima dată, SSH mă întreabă:
Autenticitatea gazdei „hostserver (::1)” nu poate fi stabilită.
Amprenta cheii ECDSA este SHA256:MlsT6sDr9xXuOurqBJu4e+a8m2De3Lu4ctJSB+5RNmk.
Sigur doriți să continuați conectarea (da/nu)? da
Avertisment: A fost adăugat permanent „hostserver” (ECDSA) la lista de gazde cunoscute.
Și după aceea, scenariul încă funcționează. Dar nu cu cecul consulului.
ce fac greșit?
Mulţumesc mult.