Le lancement de Red Hat Ansible Automation Platform 2.6 constitue une étape majeure. Avant de commencer la mise à niveau, trois points clés doivent être connus afin de faciliter la transition :
- Cette version constitue la dernière à proposer un programme d'installation basé sur RPM. Red Hat Ansible Automation Platform 2.6 utilisant la méthode RPM est disponible uniquement pour Red Hat Enterprise Linux 9. Le programme d'installation RPM sera retiré après cette version. Red Hat Ansible Automation Platform 2.7 prendra uniquement en charge une méthode d'installation conteneurisée, l'opérateur Red Hat OpenShift ou nos services cloud. Le moment est donc venu d'entamer la transition.
- Red Hat Ansible Automation Platform 2.6 constitue une version pivot. Tout parcours de mise à niveau vers les versions futures de la plateforme doit passer par la version 2.6. Il s'agit d'une étape incontournable.
- RHEL 8 n'est plus pris en charge. Si vous utilisez toujours RHEL 8, une migration vers RHEL 9 (ou RHEL 10) s'avère nécessaire avant d'effectuer la mise à niveau vers Red Hat Ansible Automation Platform 2.6.
Planification de la mise à niveau
Lors de la planification de la transition vers Red Hat Ansible Automation Platform 2.6, deux considérations importantes doivent orienter le plan de mise à niveau :
Un seul changement peut intervenir à la fois. Qu'il s'agisse du système d'exploitation, de la méthode d'installation ou de la version du produit, le programme d'installation gère uniquement un changement par exécution. Ce fonctionnement implique parfois plusieurs exécutions du programme. Consultez la documentation officielle pour obtenir des précisions sur le fonctionnement de cette approche.
Dans la plupart des cas, une nouvelle installation s'avère nécessaire. Hormis quelques scénarios spécifiques, tels que la mise à niveau de la version 2.5 vers la version 2.6 sur la même architecture ou certains déploiements d'opérateurs Red Hat OpenShift, le déploiement d'une nouvelle instance Red Hat Ansible Automation Platform 2.6 suivi de la migration de la configuration est requis.
Cette situation soulève une question clé : Comment importer une configuration existante dans la nouvelle instance ? La réponse repose sur le fait que la configuration de Red Hat Ansible Automation Platform réside dans une base de données PostgreSQL. La stratégie de mise à niveau concerne la manière de faire évoluer ces données.
Méthodes de mise à niveau
Deux voies permettent d'accéder à Ansible Automation Platform 2.6 : une migration centrée sur la base de données ou une migration centrée sur les API. Le choix dépend de l'environnement, des exigences et des compromis acceptables.
Une approche centrée sur la base de données traite Red Hat Ansible Automation Platform comme un système stateful dont les données constituent la source de vérité. Une approche centrée sur les API traite la plateforme selon le principe de la configuration en tant que code (CaC), où la source de vérité réside dans les fichiers de configuration. Consultez le tableau ci-dessous pour évaluer les aspects techniques de chaque approche :
Centrée sur la base de données | Centrée sur les API | |
Philosophie | La base de données constitue la source unique de vérité | La configuration en tant que code constitue la source unique de vérité |
Outils principaux | La collection ansible.containerized_installer et le script d'installation (sauvegarde, restauration, mise à niveau) | La collection ansible.controller et l'API REST |
Besoins en infrastructure | Ce processus peut nécessiter des environnements intermédiaires si plusieurs déplacements s'avèrent nécessaires | Seules les plateformes source et cible |
Éléments migrés | L'intégralité des données : historique des tâches, utilisateurs, mots de passe, journaux | Définitions de configuration uniquement (sans historique de tâches ni journaux) |
Version initiale | Le déploiement nécessite Ansible Automation Platform 2.4 ou une version ultérieure. Les versions antérieures requièrent d'abord une mise à niveau vers la version 2.4 | L'exportation est possible depuis n'importe quelle version d'Ansible Automation Platform ou de Tower (bien que les différences de schéma puissent exiger un traitement supplémentaire) |
Options cibles | Toute instance Ansible Automation Platform autogérée (conteneur ou opérateur Red Hat OpenShift) | Toute instance Ansible Automation Platform, y compris les offres de services cloud gérés |
Secrets | La clé SECRET_KEY de la base de données migre automatiquement et tous les secrets sont conservés | Ce processus nécessite une gestion supplémentaire (voir la note ci-dessous) |
Dette technique | Tous les éléments sont transférés, y compris les objets orphelins et les anciens journaux | Un état intermédiaire textuel permet de nettoyer, de réorganiser ou de supprimer des objets avant l'importation |
Formatage des données | Le traitement s'effectue automatiquement | Les fichiers de configuration peuvent nécessiter une modification entre les formats d'exportation et d'importation |
Migrations centrées sur la base de données
Les migrations centrées sur la base de données constituent la voie documentée et entièrement prise en charge qui préserve et migre l'intégralité de la base de données durant le processus de mise à niveau. Le défi ? La « danse de la mise à niveau » Que vous passiez de RHEL 8 à RHEL 9, d'un système RPM à un système conteneurisé ou d'Ansible Automation Platform 2.4/2.5 à la version 2.6, c Chacune de ces étapes nécessite sa propre infrastructure.
Ce processus peut exiger le provisionnement et la gestion de nombreux environnements intermédiaires. Selon le point de départ, l'objectif final de la migration et l'envergure de l'environnement (donc la taille de la base de données), cette tâche peut s'avérer chronophage.
Une mise en garde importante : Si cette complexité vous incite à adopter les services cloud gérés d'Ansible Automation Platform, sachez que le chargement d'une base de données vers ces services nécessite l'ouverture d'un ticket d'assistance. Ce processus est documenté ici. L'exécution autonome de cette opération nécessite l'utilisation de l'approche centrée sur les API.
Migration centrée sur les API
Red Hat ne prend pas officiellement en charge cette approche, bien que les composants individuels permettant cette technique de migration soient pris en charge. Toutefois, cette méthode s'avère plus rapide, en particulier pour les environnements de grande taille. Comme il s'agit d'un passage unique vers la plateforme cible, les installations intermédiaires ne sont pas nécessaires.
Cette méthode consiste à exporter la configuration d'Ansible Automation Platform à l'aide d'appels d'API afin de la stocker localement, par exemple dans des fichiers de configuration ou une base de données temporaire. Vous pouvez ensuite modifier ces fichiers selon vos besoins, puis les restaurer sur une autre plateforme, également via l'API. Cette méthode présente également un avantage secondaire : Elle introduit la configuration en tant que code (CaC) dans le flux de travail. Cela fournit une base pour gérer la plateforme à l'aide des méthodes CaC à l'avenir.
Les compromis ? L'historique des tâches sera perdu (perte atténuée par un agrégateur de journaux externe) et les secrets devront être gérés avec précaution (risque atténué grâce à un gestionnaire de secrets externe). La modification des fichiers de configuration exportés peut s'avérer nécessaire pour garantir un formatage correct lors de l'importation, notamment pour les objets private automation hub et Event-Driven Ansible.
Note concernant les secrets
La base de données de configuration stocke les secrets de notification et d'authentification, puis les chiffre à l'aide de la clé SECRET_KEY de la base de données. En raison de ce chiffrement, l'API n'exporte pas ces valeurs. Par conséquent, l'accès aux secrets de votre configuration nécessite un accès root au serveur de base de données. Comme cette opération expose les secrets en texte brut, vous devez les manipuler avec une extrême prudence, par exemple en les chiffrant à nouveau dans un coffre-fort Ansible.
Toutefois, l'utilisation d'un gestionnaire de secrets externe, tel que HashiCorp Vault, élimine ce problème car ces secrets ne résident pas dans Ansible Automation Platform. Par ailleurs, s'il n'y a que peu de secrets à gérer, renseigner directement les secrets dans la nouvelle plateforme peut s'avérer tout aussi simple.
Éléments à prendre en compte pour les deux méthodes
Quel que soit le chemin choisi, gardez ce point à l'esprit : Les intégrations externes et les jetons d'API nécessiteront probablement une attention particulière.
Ansible Automation Platform 2.5 a introduit l'automation gateway (passerelle d'automatisation), une interface unifiée qui connecte le contrôleur d'automatisation, Ansible automation hub et le contrôleur Event-Driven Ansible au sein d'une interface unique. Ce changement a déplacé de nombreux points de terminaison d'API vers de nouveaux chemins. Bien que la version 2.6 assure la rétrocompatibilité de ces points d'accès d'intégration, les versions futures nécessiteront une mise à jour de ces derniers. En outre, la plateforme devra régénérer et redistribuer la plupart des jetons. Il conviendra peut-être de provisionner des serveurs supplémentaires et de mettre à jour les équilibreurs de charge vers le nouveau service de passerelle.
Bases de données gérées en externe
Les clients qui disposent de bases de données gérées en externe doivent prendre en compte d'autres éléments. Premièrement, Ansible Automation Platform 2.4 utilise Postgres 13. Cette version passe à Postgres 15 pour la version 2.5 et à PostgreSQL 15 pour la version 2.6. Ansible Automation Platform 2.6 prend également en charge les bases de données PostgreSQL 16 et 17 fournies par les clients. Cette procédure de mise à niveau de la base de données constitue un élément clé de la migration et du cycle de mise à jour. Elle explique pourquoi les clients ne peuvent pas réutiliser leur base de données existante sans suivre ce processus. Concernant Ansible Automation Platform 2.5 et ses versions ultérieures, les bases de données fournies par les clients doivent activer les composants internationaux pour Unicode (ICU). Cette option est disponible, mais non activée par défaut, chez la plupart des grands fournisseurs tels que EDB, Amazon Web Services Relational Database Service (AWS RDS) et Azure SQL Database. Cette compatibilité de base de données explique l'impossibilité de simplement mettre à jour le schéma dans une base de données existante.
Compatibilité des playbooks
Lors de la mise à niveau d'Ansible Automation Platform, la version d'ansible-core fournie dans l'environnement d'exécution par défaut monte également en version. Il reste possible d'exécuter d'anciens environnements d'exécution sur des versions plus récentes de la plateforme afin d'assurer la rétrocompatibilité. Toutefois, Red Hat encourage fortement la mise à niveau pour profiter des nouvelles fonctionnalités et des correctifs de sécurité.
La mise à niveau des environnements d'exécution implique le passage à une nouvelle version d'Ansible core, ce qui peut entraîner certains changements. Voici les principaux changements à prévoir :
Passage d'Ansible Automation Platform 2.4 à 2.6 (passage d'ansible-core 2.15 à 2.16)
Il s'agit d'une mise à niveau mineure. Le changement le plus notable réside dans le fait que certaines alertes dans les instructions conditionnelles constituent désormais des erreurs. Au-delà de ce point, l'impact demeure minime.
Passage à ansible-core 2.18 (environnement d'exécution facultatif dans Ansible Automation Platform 2.6) Cet environnement d'exécution facultatif pris en charge pour Ansible Automation Platform 2.6 apporte des changements nettement plus importants. Précisément :
- Les versions 2.7 et 3.6 de Python sur les nœuds cibles ne sont plus prises en charge. Cet environnement d'exécution ne permet donc plus de cibler des hôtes RHEL 6. L'automatisation des hôtes RHEL 7 avec Ansible Automation Platform nécessite Python 3.8 (disponible via Red Hat Software Collections).
- L'environnement d'exécution inclut désormais la version 3.11 de Python. Les bibliothèques Python personnalisées et tierces doivent être mises à jour vers des bibliothèques compatibles avec la version 3.11.
- Le nettoyage des « dead batteries » (modules obsolètes) de Python est en cours. La PEP 594 prévoit la suppression des bibliothèques non maintenues, non sécurisées et obsolètes de la bibliothèque standard au cours des prochaines versions de Python. Les avertissements d'obsolescence commencent avec Python 3.11 ; certaines bibliothèques disparaissent dans la version 3.12, et la suppression massive intervient dans la version 3.13.
Pour la grande majorité des personnes utilisant nos solutions, ce point ne constitue pas une préoccupation immédiate, mais il convient de prêter attention aux avertissements d'obsolescence dès maintenant afin de préparer la transition.
Pour obtenir des détails complets sur les versions d'ansible-core prises en charge, consultez la politique d'assistance officielle de Red Hat.
La transition vers Ansible Automation Platform 2.6 représente bien plus qu'une simple mise à jour de version, il s'agit d'une étape stratégique qui prépare l'arrivée de la prochaine génération d'automatisation. Le choix d'une stratégie de migration adaptée à votre infrastructure actuelle permet de maintenir la résilience et la sécurité de votre automatisation, tout en anticipant les évolutions futures.
Ressources supplémentaires
À propos de l'auteur
Ryan Bontreger is a Services Architect with Red Hat Consulting. He has been delivering automation solutions for public sector customers with Red Hat since 2015. As a leader on the Americas Automation Platform Services team, Ryan has been designing and delivering Ansible solutions for customers across the globe, with a focus and dedication on the automation developer experience and automation at scale.
Plus de résultats similaires
AIOps and Ansible Automation Platform: Where AI intelligence meets trusted execution
Why automated OS upgrades still need a human in the loop
Technically Speaking | Taming AI agents with observability
You Can't Automate The Fire | Code Comments
En savoir plus
- Livre numérique : L'entreprise automatisée
- Testez Red Hat Ansible Automation Platform dans le cadre d'ateliers en autonomie
- Red Hat Ansible Automation Platform : le guide du débutant
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Virtualisation
L'avenir de la virtualisation d'entreprise pour vos charges de travail sur site ou sur le cloud