Aller au contenu

Mises à jour & Rollback

Les clusters Deployme.cloud basés sur Talos Linux bénéficient de mises à jour atomiques avec rollback automatique en cas d’échec.

Talos Linux effectue les mises à jour en deux temps :

  1. Staging — la nouvelle version est téléchargée sur une partition inactive
  2. Activation — le node redémarre sur la nouvelle partition

Si le node ne démarre pas correctement, il revient automatiquement sur la partition précédente.

Partition A (active) Partition B (inactive)
┌──────────────┐ ┌──────────────┐
│ Talos v1.8.0 │ │ (vide) │
│ (running) │ │ │
└──────────────┘ └──────────────┘
│ 1. Staging: téléchargement v1.9.0
┌──────────────┐ ┌──────────────┐
│ Talos v1.8.0 │ │ Talos v1.9.0 │
│ (running) │ │ (staged) │
└──────────────┘ └──────────────┘
│ 2. Reboot → activation
┌──────────────┐ ┌──────────────┐
│ Talos v1.8.0 │ │ Talos v1.9.0 │
│ (fallback) │ │ (running) │
└──────────────┘ └──────────────┘
  1. Ouvrez le détail du cluster
  2. Si une mise à jour est disponible, un badge s’affiche
  3. Cliquez sur “Mettre à jour”
  4. Choisissez la version cible
  5. Les nodes sont mis à jour un par un (rolling update)
Fenêtre de terminal
# Vérifier les versions disponibles
deployme cluster versions
# Mettre à jour
deployme cluster upgrade production --version v1.31.0
# Suivre la progression
deployme cluster get production --watch
Fenêtre de terminal
curl -X POST \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"kubernetes_version": "v1.31.0"}' \
https://api.deployme.cloud/v1/clusters/cls_abc123/upgrade

Les nodes sont mis à jour séquentiellement pour garantir la disponibilité :

  1. Control planes d’abord — un par un, en attendant que chacun soit Ready
  2. Workers ensuite — un par un, avec drain automatique des pods

Si un node ne redémarre pas correctement après une mise à jour, Talos revient automatiquement sur la version précédente. Aucune action n’est requise.

Pour revenir à une version précédente de Kubernetes :

Fenêtre de terminal
deployme cluster upgrade production --version v1.30.0
  1. Testez d’abord en staging — mettez à jour un cluster de test avant la production
  2. Vérifiez la compatibilité — consultez les release notes de Kubernetes avant de mettre à jour
  3. PDB — configurez des PodDisruptionBudgets pour garantir la disponibilité pendant le rolling update
  4. Surveillez — gardez un oeil sur le monitoring pendant et après la mise à jour