Mettez à niveau Automation Config vers la dernière version stable à partir d'une version précédente.
Meilleures pratiques lors d'une mise à niveau
Suivez ces directives lors de la planification de votre mise à niveau :
- Ne procédez pas à une mise à niveau à l'aide du programme d'installation ou en suivant des instructions d'installation manuelle.Si vous mettez à niveau votre installation de Automation Config, reportez-vous aux instructions de mise à niveau suivantes.
- Pour de meilleurs résultats, incrémentez d'une version majeure à la suivante. Il convient de toujours procéder à une mise à niveau depuis la dernière version majeure de Automation Config vers la nouvelle version. Si vous utilisez une version plus ancienne, procédez à une mise à niveau incrémentielle d'une version à la suivante.
- Sauvegardez vos données.Afin d'éviter toute perte de données, sauvegardez vos données.
- Effectuez les mises à niveau pendant les heures de faible activité réseau.Les mises à niveau de base de données nécessitent une réindexation des données. Selon la complexité de vos données, une mise à niveau de base de données peut prendre plusieurs heures. Pour éviter les interruptions de service, prévoyez la mise à niveau de la base de données pendant les heures de plus faible activité ou réduisez la taille de votre base de données avant de procéder à une mise à niveau.
- Recherchez dans la base de données d'anciennes commandes stockées.Dans certains cas, la base de données PostgreSQL stocke d'anciennes commandes qui n'ont jamais été exécutées. Ces commandes peuvent s'exécuter pendant le processus de mise à niveau, lorsque vous redémarrez le plug-in master. Pour éviter que cela ne se produise, vérifiez si d'anciennes commandes sont stockées dans la base de données et ignorez les tâches plus anciennes qu'une heure définie.
- Testez la mise à niveau avant le déploiement.Si possible, vous pouvez essayer de faire une répétition générale dans un environnement de test pour avoir une idée de la durée de la mise à niveau.
- Lisez d'abord l'intégralité du guide.Envisagez également de lire l'intégralité de ce guide avant de mettre en œuvre une mise à niveau afin de bien comprendre les tâches requises et de savoir si elles nécessitent une planification de la part de votre équipe ou si les parties prenantes doivent être informées des modifications en attente.
Mise à niveau à partir des versions antérieures
Il convient de toujours procéder à une mise à niveau depuis la dernière version majeure de Automation Config vers la nouvelle version. Si vous effectuez une mise à niveau à partir d'une version antérieure à la dernière version, vous pouvez voir les meilleurs résultats si vous procédez à la mise à niveau par incréments d'une version majeure vers la version suivante.
Pour obtenir des instructions sur la mise à niveau vers des versions antérieures Automation Config, reportez-vous aux instructions de mise à niveau spécifiques des versions de à partir desquelles vous effectuez la mise à niveau. Les instructions de mise à niveau des versions précédentes sont incluses dans le guide d'installation PDF pour la version suivante. Par exemple, si vous devez effectuer une mise à niveau de version 5.5 vers 6.0, consultez les instructions de mise à niveau dans le PDF d'installation de version 6.0.
Pour Automation Config versions 8.4 et ultérieures, utilisez le sélecteur de version en haut de cette page pour sélectionner le guide de mise à niveau approprié pour votre version du produit. Pour les versions 8.3 et antérieures, utilisez les guides PDF dans le tableau suivant :
Comment mettre à niveau Automation Config
- Sauvegarder vos données, notamment certains fichiers et répertoires cruciaux pour votre installation spécifique de Automation Config
- Mettre à niveau PostgreSQL (facultatif, mais recommandé)
- Mettre à niveau votre infrastructure Salt (facultatif, mais recommandé)
- Télécharger les fichiers de mise à niveau
- Mettre à niveau le nœud RaaS
- Mettre à niveau tous les masters Salt à l'aide du plug-in master
Pour plus d'informations sur la mise à niveau de Config via Aria Suite Lifecycle, reportez-vous à la section Mettre à niveau Automation Config dans la documentation de LCM.
Sauvegarder les fichiers et les répertoires de Automation Config
Les fichiers et répertoires suivants contiennent vos configurations personnalisées de Automation Config et doivent être sauvegardées avant la mise à niveau :
- Sur le nœud RaaS, sauvegardez l'intégralité de ces répertoires :
/etc/raas/raas
/etc/raas/raas.secconf
/var/log/raas
/etc/raas/pki/
Note :Le répertoire
pki
contient des fichiers masqués, assurez-vous donc de le sauvegarder entièrement. La sauvegarde des fichiers journaux du répertoire/var/log/raas
est facultative. Pendant le processus de mise à niveau, vous effacerez les fichiers journaux pour obtenir un fichier journal propre si un dépannage est nécessaire. - Sur chaque master Salt, sauvegardez les fichiers
/etc/salt/master.d/raas.conf
et/etc/salt/master.d/eAPIMasterPaths.conf
.Note :Selon le mode d'installation initial de Automation Config, les chemins d'accès au master Salt eAPI peuvent plutôt se trouver dans le fichier
/etc/salt/master.d/raas.conf
.
Back up your database schema (Base de données)
Lors de la mise à niveau de votre nœud RaaS, le schéma de base de données est mis à jour. Pour cette raison, assurez-vous de créer une sauvegarde de votre base de données avant la mise à niveau.
Pour sauvegarder votre base de données, vous devez d'abord rechercher le nom de votre base de données PostgreSQL, puis copier le contenu :
- Sur le serveur PostgreSQL, sauvegardez ces fichiers :
postgresql.conf
pg_hba.conf
- Connectez-vous en tant qu'utilisateur
postgres
en utilisant la commande suivante :sudo su - postgres
- Obtenez le nom de votre base de données à l'aide des commandes suivantes pour passer dans PostgreSQL, puis répertoriez les bases de données :
psql \l
- Pour quitter PostgreSQL et vous déconnecter en tant qu'utilisateur
postgres
, appuyez sur Ctrl+D, puis exécutez la commande suivante :exit
- Copiez le contenu de la base de données dans un fichier. La commande suivante donne un exemple :
pg_dump -U salteapi raas_db_name > postgres_raas_backup_$(date +%Y-%m-%d).sql
Mettre à niveau une base de données PostgreSQL
Automation Config nécessite une base de données PostgreSQL 9.6, mais PostgreSQL 13.7 est recommandé. La version recommandée de PostgreSQL est fournie avec le programme d'installation de Automation Config.
La mise à niveau vers la dernière version de PostgreSQL n'est pas requise. Toutefois, la mise à niveau de PostgreSQL peut éventuellement améliorer les performances. Pour obtenir des instructions sur la mise à niveau vers la dernière version de PostgreSQL, consultez Mise à niveau de PostgreSQL.
Mettre à niveau la base de données Redis
Automation Config nécessite une base de données Redis 5.x, mais Redis 6.2.7 est recommandé. La version recommandée de Redis est fournie avec le programme d'installation de Automation Config.
La mise à niveau vers la dernière version de Redis 5.x n'est pas requise. Toutefois, la mise à niveau de Redis peut potentiellement améliorer les performances. Pour obtenir des instructions sur la mise à niveau de Redis, consultez Administration de Redis.
Mettre à niveau Salt
Lors de la mise à niveau de Salt, vous devez d'abord mettre à niveau les masters. L'exécution de minions avec des versions de Salt plus récentes que leurs masters peut ne pas fonctionner comme prévu, car le minion peut inclure des modifications qui ne sont pas encore disponibles dans le master. En outre, la compatibilité descendante entre les nouveaux masters et les anciens minions est conservée, dans la mesure du possible. En général, la seule exception à cette stratégie est en cas de vulnérabilité de sécurité.
Pour obtenir de meilleures performances, assurez-vous que tous les composants Salt de votre infrastructure s'exécutent sur la dernière version majeure de Salt.
Requis : pour les déploiements dans un environnement existant/de mise à niveau, à partir de Salt 3006, le master Salt est configuré pour s'exécuter en tant qu'utilisateur « salt » au lieu de l'« utilisateur racine » habituel. Par conséquent, cela peut entraîner des erreurs d'autorisation avec les workflows RaaS, tels que le déploiement de minion et les mises à niveau du plug-in master RaaS.
Pour corriger ce problème, modifiez le fichier /etc/salt/master.d/raas.conf en remplaçant l'utilisateur par l'utilisateur racine : user: root
.
Pour les nouveaux déploiements vierges, la commande sseapi-config
configure le plug-in master et génère le fichier raas.conf avec la valeur de configuration user: root
appropriée. Aucune action de l'utilisateur n'est requise.
Mettre à niveau le nœud RaaS
Après la mise à niveau vers la dernière version de PostgreSQL, Redis et Salt, vous pouvez ensuite mettre à niveau le nœud RaaS de la version précédente vers la dernière version.
Avant de mettre à niveau votre nœud RaaS, vous devez sauvegarder vos données système pour éviter toute perte de données. Pour conserver votre configuration, enregistrez toutes les modifications que vous avez apportées au système de fichiers par défaut, aux données de Pillar et aux tâches en tant que nouveaux fichiers ou nouvelles tâches. En outre, vous devez enregistrer ou effectuer une copie de toutes les attributions cibles de Pillar existantes, car elles sont supprimées pendant le processus de mise à niveau.
Pour mettre à niveau le nœud RaaS :
- Téléchargez les fichiers de mise à niveau à partir de Customer Connect.
- Arrêtez le service RaaS à l'aide de la commande suivante :
sudo systemctl stop raas
- Supprimez le ou les fichiers journaux dans le répertoire
/var/log/raas
. L'effacement des fichiers journaux fournit un fichier journal propre si un dépannage est nécessaire. - Supprimez la version actuellement installée de l'API (RaaS) avec la commande suivante :
sudo yum remove raas
- Mettez à niveau le nœud RaaS en installant le dernier RPM. Utilisez l'exemple de commande suivant, en remplaçant le nom de fichier pour utiliser le nom de fichier exact du RPM :
sudo yum install raas-rpm-file-name.rpm
- IMPORTANT : restaurez la sauvegarde des fichiers suivants :
/etc/raas/raas
/etc/raas/raas.secconf
/etc/raas/pki/
- Mettez à jour les autorisations de l'utilisateur
raas
avec la commande suivante :sudo chown -R raas:raas /etc/pki/raas/certs
- FACULTATIF : si vous disposez d'une licence Automation for Secure Hosts et que vous souhaitez ajouter la bibliothèque de conformité, ajoutez la nouvelle section suivante au fichier
/etc/raas/raas
:sec: ingest_override: true locke_dir: locke post_ingest_cleanup: true username: 'secops' content_url: 'https://enterprise.saltstack.com/secops_downloads' download_enabled: true download_frequency: 86400 stats_snapshot_interval: 3600 compile_stats_interval: 10 ingest_on_boot: True content_lock_timeout: 60 content_lock_block_timeout: 120
Note :Cette étape est facultative et s'applique uniquement aux organisations qui ont une licence Automation for Secure Hosts valide. Ce module complémentaire est disponible pour Automation Config version 6.0 et versions ultérieures. Les options de configuration précédentes du fichier de configuration
/etc/raas/raas
sont spécifiques de ces modules complémentaires. - FACULTATIF : si vous disposez d'une licence Automation for Secure Hosts et que vous souhaitez ajouter la bibliothèque de vulnérabilité, ajoutez une nouvelle section au fichier
/etc/raas/raas
:vman: vman_dir: vman download_enabled: true download_frequency: 86400 username: vman content_url: 'https://enterprise.saltstack.com/vman_downloads' ingest_on_boot: true compile_stats_interval: 60 stats_snapshot_interval: 3600 old_policy_file_lifespan: 2 delete_old_policy_files_interval: 86400 tenable_asset_import_enabled: True tenable_asset_import_grains: ['fqdn', 'ipv4', 'ipv6', 'hostname', 'mac_address', 'netbios_name', 'bios_uuid', 'manufacturer_tpm_id', 'ssh_fingerprint', 'mcafee_epo_guid', 'mcafee_epo_agent_guid', 'symantec_ep_hardware_key', 'qualys_asset_id', 'qualys_host_id', 'servicenow_sys_id', 'gcp_project_id', 'gcp_zone', 'gcp_instance_id', 'azure_vm_id', 'azure_resource_id', 'aws_availability_zone', 'aws_ec2_instance_ami_id', 'aws_ec2_instance_group_name', 'aws_ec2_instance_state_name', 'aws_ec2_instance_type', 'aws_ec2_name', 'aws_ec2_product_code', 'aws_owner_id', 'aws_region', 'aws_subnet_id', 'aws_vpc_id', 'installed_software', 'bigfix_asset_id' ]
Note :Cette étape est facultative et s'applique uniquement aux organisations qui ont une licence Automation for Secure Hosts valide. Ce module complémentaire est disponible pour Automation Config version 6.0 et versions ultérieures. Les options de configuration précédentes du fichier de configuration
/etc/raas/raas
sont spécifiques de ces modules complémentaires. - RaaS présente actuellement un problème connu lié aux tâches périmées. Lors de la mise à niveau, certains utilisateurs peuvent remarquer la présence d'une file d'attente de tâches périmées bloquées dans un état en attente. La mise à niveau du nœud RaaS peut entraîner l'exécution de ces tâches, sauf si elles sont d'abord effacées.
Pour éviter que cela ne se produise, vérifiez d'abord si d'anciennes commandes sont stockées dans la base de données. Sur votre nœud PostgreSQL, recherchez les tâches en attente à l'aide de la commande suivante :
select count(1) from commands where state='new';
Le résultat est le nombre de tâches en attente. Si le nombre de tâches est
0
, continuez le reste du processus de mise à niveau. - Mettre à niveau la base de données du service RaaS à l'aide de la commande suivante :
sudo su - raas raas upgrade
Note :En fonction de la taille de votre base de données, la mise à niveau peut prendre entre plusieurs minutes et plus d'une heure. Si vous rencontrez des erreurs, consultez le fichier journal
/var/log/raas/raas
pour plus d'informations. - Après la mise à niveau, quittez la session de l'utilisateur
raas
avec la commande suivante :exit
- Démarrez le service RaaS à l'aide de la commande suivante :
sudo systemctl enable raas sudo systemctl start raas
Mettre à niveau le plug-in master à l'aide de l'interface utilisateur de Automation Config
Automation Config met automatiquement à niveau le plug-in master vers la dernière version sans aucune action utilisateur requise.
Cependant, vous pouvez également mettre à niveau le plug-in master à partir de l'interface utilisateur de Automation Config. Pour mettre à niveau le plug-in master, dans Automation Config, sélectionnez Administration, puis cliquez sur Plug-ins master. L'onglet Plug-in master vous indique la version du plug-in, l'environnement Automation Config, ainsi qu'une liste de vos ID de plug-in master. Dans l'onglet Plug-ins master, sélectionnez les plug-ins master que vous souhaitez mettre à jour, puis cliquez sur Mettre à jour.
Mettre à niveau le plug-in master à l'aide de la CLI
Après avoir mis à niveau le nœud RaaS, vous pouvez mettre à niveau tous les masters Salt qui utilisent le plug-in master pour vous connecter à Automation Config.
# sseapi-config --default >/tmp/raas.conf # cd /etc/salt/master.d # vim -d raas.conf /tmp/raas.conf
À partir de la version 8.13.0, le plug-in master inclut un moteur tgtmatch qui décharge désormais le groupe cible correspondant du serveur RaaS vers les masters Salt. Il est recommandé d'activer et de configurer ce moteur tgtmatch pour rendre la correspondance du groupe cible plus réactive, en particulier dans les environnements présentant les caractéristiques suivantes :
- Un grand nombre de groupes cibles (100 ou plus)
- Un grand nombre de minions (3 000 ou plus)
- Des modifications fréquentes des grains de minion (quotidiennes ou plus fréquentes)
- Des créations et des suppressions fréquentes de minions (quotidiennes ou plus fréquentes)
engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {} - tgtmatch: {} sseapi_local_cache: load: 3600 tgt: 86400 pillar: 3600 exprmatch: 86400 tgtmatch: 86400 sseapi_tgt_match: poll_interval: 60 workers: 0 nice: 19
target_groups_from_master_only: true
Avant de mettre à niveau le ou les masters Salt, assurez-vous que l'application pip3 est installée sur les masters Salt. Si vous procédez à une mise à niveau à partir de la dernière version du plug-in master, cette application est déjà installée.
Pour mettre à niveau le plug-in master sur un master Salt :
- Arrêtez le service
salt-master
à l'aide de la commande suivante :sudo systemctl stop salt-master
- Vérifiez quelle version de Python est en cours d'exécution sur le master Salt. S'il exécute Python 3.6 ou une version ultérieure, aucune modification n'est nécessaire. Sinon, supprimez la version antérieure du module SSEAPE. (SSEAPE est le plug-in Automation Config du master Salt). Par exemple :
RHEL/CentOS
sudo rm -rf /usr/lib/python3.6/site-packages/SSEAPE*
Ubuntu
sudo rm /usr/lib/python3.6/dist-packages/SSEAPE*
- Mettez à niveau le plug-in master en désinstallant, puis en réinstallant manuellement le fichier wheel Python mis à jour. Utilisez les exemples de commandes suivants, en utilisant le nom exact du fichier wheel :
Note : Le plug-in existant doit être désinstallé pour empêcher plusieurs instances de sseapi-config.
pip3 uninstall SSEAPE-8.12.1.3-py3-none-any.whl mv /etc/salt/master.d/raas.conf /tmp salt-call pip.install SSEAPE-8.12.1.3-py3-none-any.whl cp /tmp/raas.conf /etc/salt/master.d/raas.conf systemctl restart salt-master
- Mettez à jour les chemins du module API (RaaS) en modifiant le fichier
/etc/salt/master.d/eAPIMasterPaths.conf
pour faire référence aux chemins d'accès aux divers modules. Par exemple, vous pouvez modifier toutes les références àpython2.7
de ce fichier enpython3.6
.Note :Selon le mode d'installation initial de Automation Config, les chemins d'accès au master Salt eAPI peuvent plutôt se trouver dans le fichier
/etc/salt/master.d/raas.conf
. - Vérifiez la section
engines
dans/etc/salt/master.d/raas.conf
pour confirmer qu'elle correspond à ce qui suit :engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {}
Note :Si un problème se produit, vous devrez éventuellement restaurer vos sauvegardes des fichiers
/etc/salt/master.d/raas.conf
et/etc/salt/master.d/eAPIMasterPaths.conf
. - Si vous utilisez l'authentification par clé salt-master (recommandé), assurez-vous que
sseapi_pubkey_path
est configuré et quesseapi_username
etsseapi_password
sont commentés dans/etc/salt/master.d/raas.conf
.sseapi_pubkey_path: /etc/salt/pki/master/sseapi_key.pub #sseapi_username: #sseapi_password:
- Vérifiez que les entrées
master_job_cache
etevent_return
sont définies sursseapi
. Le système de retourpgjsonb
n'est plus disponible. - Démarrez le service
salt-master
avec la commande suivante :sudo systemctl start salt-master
- Vérifiez que le master Salt s'exécute en tant qu'utilisateur « racine » et non en tant qu'utilisateur « salt ». Si ce n'est pas le cas, modifiez le fichier /etc/salt/master.d/raas.conf pour passer l'utilisateur à l'utilisateur racine :
user: root
.
Le processus de mise à niveau est terminé. Si vous rencontrez d'autres erreurs, reportez-vous à la section Dépannage.