Nomad v0.9.1 (4b2bdbd9ab68a27b10c2ee781cceaaf62e114399)
Journaux Docker en croissance infinie. Docker stocke les journaux sous le dockerd --data-root
. Nomad semble les collecter séparément et y effectue également la belle rotation des billes. Cependant, la source réelle des journaux n'est jamais nettoyée. Nous avons déjà un fichier qui est passé à 116 Go de journaux d'accès en peu de temps, voici un extrait de code du -h
:
117G /var/lib/docker/containers/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba/dafbe8ab0f5aec724e49d80aee5ef77824838870460a0182e76c0924b45ae4ba-json.log
Tout travail produisant des journaux
Cela semble être un effet secondaire des changements récents dans la façon dont Nomad collecte les journaux du pilote Docker.
Il est passé de syslog
à json-file
, sans configuration max-size / max-file.
Pour le moment, j'ai configuré Docker pour faire pivoter ses fichiers dans /etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "2"
}
}
Je sais que je peux transmettre la configuration de journalisation au pilote dans le fichier de travail mais ce serait bien de pouvoir le faire également dans la configuration du client, sous la nouvelle strophe plugin / docker / config
Comment l'ajouter à une strophe de tâche nomade:
task "redis" {
driver = "docker"
config {
image = "redis:3.2"
port_map {
db = 6379
}
logging {
config {
max-size= "10m",
max-file= "10"
}
}
}
....
https://github.com/hashicorp/nomad/pull/5846 résout-il ce problème?
Oups, oui! Merci pour le rappel @camerondavison !
Veuillez tester la version 0.9.4-rc1 si vous avez été touché par ceci: https://groups.google.com/d/msg/nomad-tool/Zi2I7P-PWo0/yAPFPmgLDQAJ
Commentaire le plus utile
Cela semble être un effet secondaire des changements récents dans la façon dont Nomad collecte les journaux du pilote Docker.
Il est passé de
syslog
àjson-file
, sans configuration max-size / max-file.Pour le moment, j'ai configuré Docker pour faire pivoter ses fichiers dans /etc/docker/daemon.json
Je sais que je peux transmettre la configuration de journalisation au pilote dans le fichier de travail mais ce serait bien de pouvoir le faire également dans la configuration du client, sous la nouvelle strophe plugin / docker / config