Rolling upgrade d'Elasticsearch (8.x minor ou 8.19 → 9.x)
ElasticsearchNiveau: AvancéDurée: 15–30 min par nœudIl ne s'agit pas d'une installation : ce guide migre un cluster Elasticsearch en service vers une nouvelle version sans interruption, en mettant à jour les nœuds un par un (version mineure au sein de 8.x, ou version majeure 8.19 → 9.x). Les étapes couvrent les contrôles préalables (version, santé, deprecation API, system feature migration), le snapshot avant upgrade, la limitation de l'allocation des shards aux primaires et le flush, la mise à jour de la version et des plugins sur chaque nœud, la réactivation de l'allocation et l'attente du retour à la santé, la mise à jour de Kibana et, si nécessaire, le retour arrière depuis le snapshot. À la fin, tous les nœuds et Kibana sont sur la version cible et le cluster est green. Pour passer en 9.x depuis une 8.x antérieure à 8.19, appliquez d'abord ce guide avec l'option 'au sein de la même version majeure' pour atteindre 8.19 ; s'il n'existe pas de snapshot repository, ouvrez d'abord le guide snapshot.
Topologie: Cluster existant de 3+ nœuds (+ Kibana)
Scénarios
- Au sein de la même version majeure (ex. 8.18 → 8.19, 9.1 → 9.2) — Au sein de la même version majeure (8.18 → 8.19, 9.1 → 9.2) : le dépôt ne change pas, le contrôle des dépréciations est quand même effectué. Sauter des versions mineures intermédiaires est supporté.
- Version majeure : 8.19.x → 9.x — Le cluster source doit d'abord être mis à jour en 8.19.x (dernier patch). Les contrôles préalables incluent l'Upgrade Assistant / deprecation API et la system feature migration.
Avant de commencer
- Tous les nœuds sont sur la même version : …. …Pour passer en 9.x, la version source doit être 8.19.x (sauf 8.18 → 9.0) ; sinon appliquez d'abord ce guide avec l'option "Au sein de la même version majeure" pour passer en 8.19.…La version cible … doit être plus récente que la version actuelle ; sauter des versions mineures intermédiaires (8.17 → 8.19) est supporté.…
- Cluster green ; aucun shard relocating/initializing ; occupation disque inférieure à 75 % sur tous les nœuds (les shards sont reconstruits pendant l'upgrade).
- Les clients applicatifs, Logstash, Beats/Elastic Agent et APM sont compatibles avec la version cible. …La 9.x exige les bibliothèques clientes 9.x (ou 8.x avec les en-têtes de compatibilité) ; lisez les breaking changes des release notes.…
- Le snapshot repository … est enregistré et vérifié ; il dispose d'assez d'espace libre pour le snapshot. Un nœud mis à jour ne peut pas revenir à l'ancienne version ; ce snapshot est le seul moyen de revenir en arrière.
- Les serveurs accèdent à artifacts.elastic.co (ou à un miroir interne) et … est disponible dans le dépôt.
- La fenêtre de maintenance est validée ; la charge en écriture est réduite pendant l'upgrade si possible (non obligatoire). …Tous les avertissements critiques de l'écran Stack Management → Upgrade Assistant de Kibana ont été traités.…
Phases du guide
- Préparation — Créer un fichier d'identifiants temporaire pour l'accès à l'API · Sauvegarder la configuration · Lister les plugins installés
- Contrôles préalables — Vérifier les versions et les rôles · Vérifier la santé du cluster · Effectuer le contrôle des dépréciations (Upgrade Assistant API) · Lancer la system feature migration · Lister les versions cibles installables
- Basculer le dépôt vers 9.x — Définir le dépôt Elastic 9.x · Définir le dépôt Elastic 9.x · Vérifier la version cible
- Point de retour : snapshot — Prendre un snapshot avant l'upgrade · Activer le ML upgrade mode
- Vérification — Vérifier que tous les nœuds sont sur la version cible · Vérifier que le paramètre d'allocation a été supprimé de façon persistante · Désactiver le ML upgrade mode · Rechercher des erreurs dans les logs
- Mettre à jour Kibana — Arrêter Kibana · Mettre à jour Kibana en … · Démarrer Kibana et vérifier son état
- Post-installation — Prendre un snapshot après l'upgrade · Supprimer le fichier d'identifiants temporaire
- Retour arrière (uniquement si l'upgrade échoue) — Arrêter le service sur tous les nœuds · Installer l'ancienne version · Mettre de côté le répertoire de données et créer un répertoire vide · Écrire le paramètre initial_master_nodes pour le nouveau cluster · Démarrer les services · Définir un mot de passe elastic temporaire …