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 :

Version Guide d'installation et de mise à niveau (PDF)
8.3 Guide d'installation et de mise à niveau de la version 8.3
6.4 Guide d'installation et de mise à niveau de la version 6.4
6.3 Guide d'installation et de mise à niveau de la version 6.3
6.2 Guide d'installation et de mise à niveau de la version 6.2
6.1 Guide d'installation et de mise à niveau de la version 6.1
6.0.1 Guide d'installation et de mise à niveau de la version 6.0.1
6.0 Guide d'installation et de mise à niveau de la version 6.0

Comment mettre à niveau Automation Config

Pour mettre à niveau Automation Config, effectuez les tâches suivantes dans l'ordre :
  • 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 :

  1. 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.

  2. 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 :

  1. Sur le serveur PostgreSQL, sauvegardez ces fichiers :
    • postgresql.conf
    • pg_hba.conf
  2. Connectez-vous en tant qu'utilisateur postgres en utilisant la commande suivante :
    sudo su - postgres
  3. 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
  4. Pour quitter PostgreSQL et vous déconnecter en tant qu'utilisateur postgres, appuyez sur Ctrl+D, puis exécutez la commande suivante :
    exit
  5. 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.

À partir de la version de Salt 3006, Salt Project utilise le système de création de module onedir. Onedir veut dire « one directory » (un répertoire), car il contient tous les exécutables dont Salt a besoin, y compris Python et d'autres dépendances Salt. Onedir vous permet d'utiliser Salt prêt à l'emploi.
Important : Salt Project recommande vivement d'effectuer la mise à niveau vers onedir pour continuer à recevoir des mises à jour de version de Salt. À partir de Salt version 3006, seuls les modules onedir seront disponibles pour les mises à niveau. Pour plus d'informations sur les versions de Salt et sur onedir, consultez l' article 89728 de la base de connaissances.
Important : Les versions 3006 et ultérieure de Salt utilisent un module d'installation onedir qui n'est pas pris en charge ni compatible avec Automation Config. Pour utiliser Salt version 3006 ou version ultérieure avec Automation Config, utilisez uniquement des modules de programme d'installation classiques.

Pour plus d'informations sur l'installation des modules onedir de Salt, reportez-vous à la section Installer des modules onedir de Salt.

Note : L'utilisation du module du programme d'installation de Salt Crystal a été supprimée. Pour les futures installations, il est recommandé d'utiliser le module d'installation onedir.

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.

Note : Les mises à niveau de base de données nécessitent une réindexation des données. Si vos données sont complexes, une mise à niveau de la base de données peut prendre plusieurs heures.
Important :

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 :

  1. Téléchargez les fichiers de mise à niveau à partir de Customer Connect.
  2. Arrêtez le service RaaS à l'aide de la commande suivante :
    sudo systemctl stop raas
  3. 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.
  4. Supprimez la version actuellement installée de l'API (RaaS) avec la commande suivante :
    sudo yum remove raas
  5. 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
  6. IMPORTANT : restaurez la sauvegarde des fichiers suivants :
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /etc/raas/pki/
  7. Mettez à jour les autorisations de l'utilisateur raas avec la commande suivante :
    sudo chown -R raas:raas /etc/pki/raas/certs
  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. Après la mise à niveau, quittez la session de l'utilisateur raas avec la commande suivante :
    exit
  13. 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

Note : Cette fonctionnalité est prise en charge pour Automation Config 8.11.2 ou version ultérieure. Pour les versions antérieures, vous devez d'abord mettre à niveau le plug-in master vers la version 8.11.2 ou une version ultérieure à l'aide de l'interface de ligne de commande.
Note : Le master Salt doit être exécuté en tant qu'utilisateur racine.

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.

Il est recommandé de mettre à jour votre configuration de plug-in master en générant un fichier de configuration par défaut et en appliquant tous les paramètres que vous souhaitez conserver de votre configuration existante. Par exemple :
# sseapi-config --default >/tmp/raas.conf 
# cd /etc/salt/master.d 
# vim -d raas.conf /tmp/raas.conf
Important : Si vous avez installé Salt à l'aide d'onedir, le chemin d'accès à cet exécutable est /opt/salt/salt/extras-3.10/bin/sseapi-config.

À 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)
Pour configurer le moteur tgtmatch, assurez-vous de la présence de ces paramètres dans le fichier de configuration du plug-in master (/etc/salt/master.d/raas.conf)
engines: 
    - sseapi: {} 
    - eventqueue: {} 
    - rpcqueue: {} 
    - jobcompletion: {}    
    - tgtmatch: {} 

sseapi_local_cache:     
    load: 3600 
    tgt: 86400 
    pillar: 3600 
    exprmatch: 86400 
    tgtmatch: 86400 

sseapi_tgt_match: 
    poll_interval: 60     
    workers: 0 
    nice: 19
Pour configurer RaaS de manière que les données de correspondance cible soient fournies par les masters Salt, assurez-vous de la présence du paramètre suivant dans le fichier de configuration RaaS (/etc/raas/raas) :
target_groups_from_master_only: true
Note :

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 :

  1. Arrêtez le service salt-master à l'aide de la commande suivante :
    sudo systemctl stop salt-master
  2. 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*
  3. 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
  4. 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 en python3.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.

  5. 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: {}
    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.

  6. Si vous utilisez l'authentification par clé salt-master (recommandé), assurez-vous que sseapi_username et sseapi_password sont commentés dans /etc/salt/master.d/raas.conf.
    #sseapi_username:
    #sseapi_password:
  7. Vérifiez que les entrées master_job_cache et event_return sont définies sur sseapi. Le système de retour pgjsonb n'est plus disponible.
  8. Démarrez le service salt-master avec la commande suivante :
    sudo systemctl start salt-master
  9. 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.