Dans cet exemple, vous allez découvrir un autre exemple d'application des fichiers d'état pour déployer et gérer rapidement des paramètres de configuration à l'aide de SaltStack Config. Cet exemple présente un fichier d'état légèrement plus complexe, qui gère trois tâches différentes (installation d'un service, démarrage d'un service et déploiement d'un fichier sur le nœud exécutant le service).

Avertissement :

Cet exemple pratique apporte des modifications à votre environnement et vous devez faire preuve de prudence après l'avoir exécuté. Essayez cet exemple en utilisant uniquement des nœuds dans un environnement de test ou de développement plutôt qu'un environnement de production.

Configurer un serveur Web Apache sur un nœud CentOS (Linux)

Pour écrire un fichier d’état qui configure et déploie un serveur Web Apache :

  1. Créez un fichier dans le serveur de fichiers SaltStack Config.
    1. Dans l'interface utilisateur de SaltStack Config, cliquez sur Configuration > Serveur de fichiers dans le menu latéral.
    2. Lorsque vous ouvrez l'espace de travail Serveur de fichiers pour la première fois, vous voyez le répertoire de fichiers et un nouveau fichier vide. Utilisez ce fichier vide pour créer un fichier.
    Fichier d'état vide dans l'espace de travail Serveur de fichiers
  2. Utilisez le nouveau fichier vide pour créer un fichier d'état (SLS).
    1. Cliquez sur le menu Saltenv et sélectionnez base.
    2. En regard du menu sans étiquette, entrez le chemin d'accès et le nom de fichier. Utilisez /apache/centos.sls.
    3. Dans le corps du fichier, copiez et collez le code de fichier d’état suivant (qui utilise la syntaxe YAML) :
      install_apache:
        pkg.installed:
          - name: httpd
          
      ensure_service_running:
        service.running:
          - name: httpd
          - watch:
            - pkg: install_apache
            
      default_html_page:
        file.managed:
          - name: /var/www/html/index.html
          - source: salt://apache/index.html
      
      Note :
      Ce fichier d'état comporte trois étapes qui exécutent trois modules d'exécution Salt différents. Lorsque ce fichier d'état est appliqué à un minion, SaltStack Config effectue les actions suivantes :
      • Installe Apache (httpd) sur le minion.
      • Démarre le service Apache.
      • Déploie un exemple de page d’index HTML hébergée sur le minion.
      Exemple de fichier d'état pour les machines CentOS
    4. Enregistrez le fichier d'état.
    5. Confirmez que le nouveau fichier figure dans le répertoire du serveur de fichiers sous base > apache > centos.sls. Exemple de fichier d'état pour les machines CentOS
  3. Ajoutez un exemple de page d’index HTML au serveur de fichiers.
    1. Dans l'espace de travail Serveur de fichiers, cliquez sur le bouton Créer pour ajouter un nouveau fichier.
    2. Cliquez sur le menu sans étiquette et sélectionnez base.
    3. En regard du menu sans étiquette, entrez le chemin d'accès et le nom de ce fichier. Utilisez /apache/index.html.
    4. Dans le corps du fichier, copiez et collez le code HTML suivant :
      <html>
      <head><title>SaltStack Config Example></title></head>
      <body>
      <h1>SaltStack Config Example</h1>
      
      Hello, world!
      
      </body>
      
    5. Enregistrez le fichier HTML.
    6. Confirmez que le nouveau fichier apparaît dans le répertoire du serveur de fichiers sous base > apache > index.html.
  4. Créez une tâche.
    1. Ouvrez l'espace de travail Tâches en cliquant sur Configuration > Tâches dans le menu latéral.
    2. Cliquez sur le bouton Créer une tâche.
      Note :

      Si le bouton Créer une tâche ne s'affiche pas, vous n'avez pas l'autorisation nécessaire pour créer des tâches. Contactez votre administrateur vRealize Automation pour obtenir l'accès ou pour créer cette tâche en votre nom afin de pouvoir exécuter ce didacticiel.

  5. Dans l'écran Nouvelle tâche, renseignez les détails de la nouvelle tâche et enregistrez-la.
    Champ Exemple de valeur

    Nom

    Donnez à cette tâche un nom descriptif tel que « Configurer le serveur Web Apache ».

    Description

    Ajoutez une description qui indique aux autres utilisateurs l'objectif de cette tâche, par exemple « Configure et déploie un serveur Web Apache sur un nœud CentOS ciblé avec un exemple de page d'index HTML ».

    Commande

    Sélectionnez salt.

    La commande salt est utilisée pour les tâches exécutées sur des minions.

    Cibles

    Ne sélectionnez rien dans ce menu. Si vous laissez ce champ vide, vous pourrez sélectionner la cible lors de l'exécution de la tâche.

    Fonction

    Cliquez sur ce champ et commencez à saisir state.apply jusqu'à ce que vous puissiez sélectionner ce module.

    Ce champ vous permet de sélectionner le module Salt appliqué lors de l'exécution de cette tâche.

    Environnements

    Sélectionnez base dans le menu.

    États

    Sélectionnez le fichier d'état récemment créé dans le menu : apache.centos.

    Arguments

    Ce module n'accepte pas les arguments, laissez donc ce champ vide.

    Entrées de tâche

    Cette tâche ne nécessite aucune entrée de tâche. Laissez ce champ vide. Pour plus d'informations sur les entrées de tâche, reportez-vous à la section Création de tâches.

    Création d'une tâche qui configure un serveur Web Apache.
  6. Maintenant que vous avez créé une tâche, exécutez-la en sélectionnant ses cibles.
    1. Dans le menu latéral, cliquez sur Cibles pour ouvrir l'espace de travail Cibles et afficher vos cibles.
    2. Dans le tableau Tous les minions, recherchez le minion CentOS que vous souhaitez cibler pour cette tâche. Cochez la case en regard de ce minion et cliquez sur le bouton Exécuter la tâche.
    3. Dans la boîte de dialogue Exécuter la tâche, cliquez sur le menu Tâche et sélectionnez la tâche Configurer le serveur Web Apache que vous avez créée aux étapes précédentes. Vous pouvez entrer le nom de la tâche pour filtrer les tâches si nécessaire.
    4. Cliquez sur Exécuter maintenant.

      Si vous avez correctement exécuté la tâche, une notification s'affiche pour indiquer que le démarrage de la tâche a réussi.

  7. Vérifiez si la tâche est terminée ou non en cliquant sur Activité > Terminé dans le menu latéral.

    Si votre tâche ne s'affiche pas dans ce tableau, elle est peut-être toujours en cours d'exécution. Vous pouvez trouver les tâches en cours d'exécution en cliquant sur Activité > En cours. Continuez à actualiser Activité > Terminé jusqu'à ce que votre tâche s'affiche dans le tableau.

  8. Une fois votre travail terminé, vérifiez que la page d’index est hébergée sur votre serveur Web récemment configuré.
    1. Dans votre navigateur Web, accédez à l’adresse IP du minion CentOS que vous avez ciblé dans la tâche. Pour trouver l'adresse IP de votre minion dans SaltStack Config, recherchez dans l'espace de travail Cibles sous la colonne Adresse IP correspondant à ce minion.
    2. Lorsque vous entrez cette adresse IP, vous devez voir votre exemple de page d'index HTML.
Page d'index HTML qui affiche un message d'accueil.

Résumé des résultats et informations clés

Lorsque vous examinez les résultats de la tâche et la page d'index, prenez en compte les points suivants :

  • Les fichiers d'état constituent une méthode pour définir et mettre à jour rapidement la configuration système à n'importe quelle échelle et pour empêcher toute dérive de configuration dans une infrastructure programmable.
  • SaltStack Config vous permet de créer des fichiers d'état qui peuvent incorporer des éléments complexes tels que des variables, qui sont des valeurs qui peuvent changer en fonction de conditions ou d'informations transmises au fichier d'état au moment de son application à votre système.
  • Vous pouvez également créer des fichiers d'état qui peuvent extraire des mots de passe d'une banque privée (appelés Pillar dans SaltStack Config) pour contribuer à sécuriser les informations d'identification tout en permettant aux membres de l'équipe autorisés d'exécuter des tâches sur les ressources auxquelles ils ont accès.