Retour arrière automatique

update_config.failure_action décide de ce que fait Swarm quand une nouvelle tâche échoue pendant sa fenêtre de surveillance : pause (par défaut), continue, ou rollback vers la spécification précédente avec rollback_config.

Comment ça marche

Un échec est une nouvelle tâche qui s'arrête, devient unhealthy ou ne peut pas démarrer avant la fin de monitor. max_failure_ratio (0 par défaut) est la part de tâches en échec tolérée. Avec failure_action: rollback, Swarm remet de lui-même la spécification précédente ; docker service rollback fait la même chose à la main, et docker service inspect montre UpdateStatus.

Ce qui casse

Une version qui meurt après la fenêtre de surveillance compte comme un succès : la mise à jour se termine et chaque réplique plante à son tour. pause laisse le service à moitié mis à jour, avec une tâche cassée qui redémarre, jusqu'à ce que quelqu'un s'en aperçoive. Règle monitor plus long que le temps qu'une mauvaise version met à se révéler.

Dans compose.yaml

    deploy:
      update_config:
        parallelism: 1
        order: start-first
        monitor: 60s
        failure_action: rollback
      rollback_config:
        parallelism: 1
        order: start-first

Regarde-le casser, puis répare-le

Écris le Dockerfile ou le fichier compose, tape les commandes docker, et regarde un serveur simulé les exécuter à travers redémarrages, mises à jour et trafic. Gratuit pour commencer.