Mettez à niveau SaltStack 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 SaltStack 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 SaltStack 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 SaltStack 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 SaltStack 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 SaltStack 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 SaltStack Config

Pour mettre à niveau SaltStack 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 SaltStack 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 SSC via Lifecyle Manager, reportez-vous à la section Mise à niveau de vRealize Automation SaltStack Config dans la documentation de LCM.

Sauvegarder les fichiers et les répertoires de SaltStack Config

Les fichiers et répertoires suivants contiennent vos configurations personnalisées de SaltStack 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 SaltStack 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 :
    • postgres.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 salt_eapi raas_db_name > postgres_raas_backup_$(date +%Y-%m-%d).sql

Mettre à niveau une base de données PostgreSQL

SaltStack 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 SaltStack 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

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

Important : Les versions 3005 et 3005.1 de Salt utilisent un module d'installation onedir qui n'est pas pris en charge ni compatible avec SaltStack Config. Pour utiliser Salt version 3005 ou 3005.1 avec SaltStack Config, utilisez uniquement des modules de programme d'installation classiques. Pour plus d'informations sur la version 3005/3005.1 de Salt et sur onedir, consultez l' article 89728 de la base de connaissances.

Pour obtenir des instructions sur la mise à niveau du module Salt Crystal, consultez Comment mettre à niveau Salt Crystal.

Info-bulle : L'impossibilité de mettre à jour Salt régulièrement sur Internet peut devenir problématique pour votre réseau sauf si ce dernier est isolé. Pour cette raison, il est vivement recommandé d'installer Salt au préalable plutôt que d'utiliser le module Salt Crystal.

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 la 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 mettre à niveau le nœud RaaS :

  1. Téléchargez les fichiers de mise à niveau à partir de Customer Connect.
  2. 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.
  3. Notez toutes les attributions Pillar qui sont faites sur les cibles par défaut. Ces éléments doivent être réattribués après la mise à niveau.
  4. Arrêtez le service RaaS à l'aide de la commande suivante :
    sudo systemctl stop raas
  5. 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.
  6. Supprimez la version actuellement installée de l'API (RaaS) avec la commande suivante :
    sudo yum remove raas
  7. 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
  8. IMPORTANT : restaurez la sauvegarde des fichiers suivants :
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /etc/raas/pki/
  9. Mettez à jour les autorisations de l'utilisateur raas avec la commande suivante :
    sudo chown -R raas:raas /etc/pki/raas/certs
  10. FACULTATIF : si vous avez une licence SaltStack SecOps 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 SaltStack SecOps valide. Ce module complémentaire est disponible pour SaltStack Config versions 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.

  11. FACULTATIF : si vous avez une licence SaltStack SecOps 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 SaltStack SecOps valide. Ce module complémentaire est disponible pour SaltStack Config versions 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.

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

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

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

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 à SaltStack Config.

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 SaltStack 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 installant manuellement le fichier wheel Python mis à jour. Utilisez les exemples de commandes suivants, en utilisant le nom exact du fichier wheel :

    RHEL/CentOS

    sudo pip3 install SSEAPE-file-name.whl --prefix /usr

    Ubuntu

    sudo pip3 install SSEAPE-file-name.whl
    Note :

    Certains utilisateurs devront éventuellement remplacer la syntaxe par pip3.6 ou pip36 pour leurs systèmes d'exploitation.

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

  6. Si vous utilisez l'authentification par clé salt-master (recommandé), assurez-vous que sseapi_pubkey_path est configuré et que sseapi_username et sseapi_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:
  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

Le processus de mise à niveau est terminé. Si vous rencontrez d'autres erreurs, reportez-vous à la section Dépannage.