Pour configurer et vérifier votre instance de SaltStack Config Cloud, installez Salt et le plug-in master sur votre master Salt, générez un jeton d'API dans la console Cloud Services, puis connectez votre master Salt à SaltStack Config Cloud. Vous pouvez connecter des masters Salt sur site ou dans le cloud.

Conditions préalables

Avant de configurer SaltStack Config Cloud, les conditions préalables suivantes doivent être remplies :
  • Vérifiez que vous disposez des rôles suivants dans VMware Cloud Services :
    • Rôle d'organisation : propriétaire de l'organisation ou administrateur de l'organisation
    • Rôle de service : superutilisateur du service SaltStack Config Cloud
  • Définissez votre organisation par défaut sur l'organisation disposant d'un accès au service SaltStack Config Cloud.

Présentation de la configuration

La configuration de SaltStack Config Cloud inclut les tâches suivantes.

  1. Installez Salt sur votre master Salt et les nœuds que vous prévoyez de gérer à l'aide de SaltStack Config Cloud. Consultez Étape 1 : installer Salt pour plus d'informations.
  2. Installez ou mettez à niveau le plug-in master sur les masters Salt qui doivent communiquer avec SaltStack Config Cloud. Consultez Étape 2 : installer et configurer le plug-in master pour plus d'informations.
  3. Générez un jeton d'API pour permettre à vos masters Salt de se connecter à SaltStack Config Cloud. Consultez Étape 3 : générer un jeton d'API pour plus d'informations.
  4. Connectez vos masters Salt à SaltStack Config Cloud. Consultez Étape 4 : connectez vos masters Salt à SaltStack Config Cloud pour plus d'informations.
  5. Acceptez les clés du master Salt dans l'interface utilisateur de SaltStack Config Cloud. Consultez Étape 5 : accepter les clés du master Salt pour plus d'informations.

Étape 1 : installer Salt

Avant de pouvoir utiliser SaltStack Config Cloud, vous devez installer Salt sur votre master Salt.

Vous devez installer le service de master Salt et le service de minion Salt sur le nœud du master Salt. Les instructions suivantes installent la dernière version de Salt sur RHEL 8. Pour plus d'informations sur l'installation de Salt sur d'autres systèmes d'exploitation ou sur d'autres versions de Python, reportez-vous au guide d'installation de Salt.

  1. Dans le terminal du master Salt, exécutez les commandes suivantes pour installer le référentiel et la clé du projet Salt :
    sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/latest/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/py3/redhat/8/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
  2. Exécutez sudo yum clean expire-cache.
  3. Installez le service salt-minion et le service salt-master sur votre master Salt :
    sudo yum install salt-master
    sudo yum install salt-minion
  4. Créez un fichier master.conf dans le répertoire /etc/salt/minion.d. Dans ce fichier, définissez l'adresse IP du master Salt pour qu'elle pointe vers elle-même :
    master: localhost
  5. Démarrez le service de master Salt et le service de minion Salt :
    sudo systemctl enable salt-master && sudo systemctl start salt-master
    sudo systemctl enable salt-minion && sudo systemctl start salt-minion

Étape 2 : installer et configurer le plug-in master

Après avoir installé Salt sur votre infrastructure, vous devez installer et configurer le plug-in master, ce qui permet à vos masters Salt de communiquer avec SaltStack Config Cloud.

Si vous disposez déjà d'un master Salt, mettez à niveau le plug-in master avant de connecter votre master Salt à SaltStack Config Cloud. Pour plus d'informations, reportez-vous à la section Mettre à niveau le plug-in master.

Pour installer et configurer le plug-in master :

  1. Connectez-vous à votre master Salt.
  2. Installez la bibliothèque PyJWT et la bibliothèque Pika Python sur votre master Salt à l'aide des commandes suivantes :
    salt-call --local pip.install pika==1.2.0 target='/usr'
    salt-call --local pip.install pyjwt==2.3.0 target='/usr'
  3. Si nécessaire, téléchargez le fichier wheel du plug-in master sur Customer Connect.

    Le plug-in master est inclus dans le fichier .tar.gz du programme d'installation automatisé. Après avoir téléchargé et extrait le fichier.tar.gz, vous pouvez trouver le plug-in master dans le répertoire sse-installer/salt/sse/eapi_plugin/files.

  4. Installez 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

    salt-call --local pip.install SSEAPE-file-name.whl target='/usr'
    Ubuntu
    salt-call --local pip.install SSEAPE-file-name.whl target='/usr'
  5. Générez les paramètres de configuration du master.
    1. Vérifiez que le répertoire /etc/salt/master.d existe ou créez-le.
    2. Exécutez la commande suivante pour générer le fichier de configuration maître.
      sudo sseapi-config --all > /etc/salt/master.d/raas.conf

      Si l'exécution de cette commande provoque une erreur, reportez-vous à la section Dépannage de SaltStack Config Cloud.

  6. Redémarrez le service du master Salt.
    sudo systemctl restart salt-master

Étape 3 : générer un jeton d'API

Avant de pouvoir connecter votre master Salt à SaltStack Config Cloud, vous devez générer un jeton d'API à l'aide de la console Cloud Services. Ce jeton est utilisé pour authentifier votre master Salt dans VMware Cloud Services.

Pour générer un jeton d'API :

  1. Dans la barre d'outils de la console Cloud Services, cliquez sur votre nom d'utilisateur et sélectionnez Mon compte > Jetons d'API.
  2. Cliquez sur Générer le jeton.

    Page Jetons d'API dans CSP

  3. Remplissez le formulaire.

    Générer le formulaire de jeton dans CSP

    1. Entrez un nom pour le jeton.
    2. Sélectionnez la durée de vie du jeton. La durée par défaut est de six mois.
      Note : Un jeton sans date d'expiration peut être un risque de sécurité s'il est compromis. Si cela se produit, vous devez révoquer le jeton.
    3. Définissez les étendues du jeton.
      Portée Description
      Rôles d'organisation

      Les rôles d'organisation déterminent l'accès d'un utilisateur aux ressources de l'organisation.

      Pour accéder au service SaltStack Config Cloud, vous devez sélectionner le rôle Administrateur d'organisation ou Propriétaire d'organisation.

      Rôle Administrateur d'organisation sélectionné sur la page Générer un jeton d'API
      Rôles de service

      Les rôles de service sont des ensembles prédéfinis et intégrés qui accordent l'accès à VMware Cloud Services.

      Pour accéder au service SaltStack Config Cloud, recherchez le service SaltStack Config et sélectionnez le rôle de service Master Salt.

      Rôle de service Master Salt sélectionné pour le service SaltStack Config
    4. (Facultatif) Définissez une préférence d'e-mail pour recevoir un rappel lorsque votre jeton est sur le point d'expirer.
    5. Cliquez sur Générer.

      Le jeton d'API récemment généré s'affiche dans la fenêtre Jeton généré.

  4. Enregistrez les informations d'identification du jeton dans un emplacement sécurisé.

    Après avoir généré le jeton, vous pourrez uniquement voir le nom du jeton sur la page Jetons de l'API, pas les informations d'identification. Pour régénérer le jeton, cliquez sur Régénérer.

  5. Cliquez sur Continuer.

Étape 4 : connectez vos masters Salt à SaltStack Config Cloud

Après avoir généré un jeton d'API, vous pouvez l'utiliser pour connecter votre master Salt à SaltStack Config Cloud.

Pour connecter votre master Salt :

  1. Dans le terminal du master Salt, enregistrez votre jeton d'API en tant que variable d'environnement.
    export CSP_API_TOKEN=<api token value>
  2. Exécutez la commande suivante pour connecter votre master Salt à SaltStack Config Cloud en remplaçant les valeurs de ssc-url et csp-url par les URL spécifiques à votre région.
    sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    Note :

    Si vous utilisez sudo, exécutez la commande suivante :

    sudo CSP_API_TOKEN=<api token value> sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    Nom de la région URL SSC URL CSP
    US (États-Unis) https://ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    DE (Allemagne) https://de.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    IN (Inde) https://in.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    L'exemple de code suivant montre un exemple de réponse réussie dans la région US.
    2022-08-16 21:28:26 [INFO] SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    2022-08-16 21:28:26 [INFO] Retrieving CSP auth token.
    2022-08-16 21:28:27 [INFO] Creating new oauth app.
    2022-08-16 21:28:27 [INFO] Finished with oauth app [Salt Master App for master id:my-salt-master] in org [6bh70973-b1g2-716c-6i21-i9974a6gdc85].
    2022-08-16 21:28:29 [INFO] Added service role [saltstack:master] for oauth app [Salt Master App for master id:my-salt-master].
    2022-08-16 21:28:29 [INFO] Created pillar [CSP_AUTH_TOKEN].
    2022-08-16 21:28:29 [INFO] Updated master config. Please restart master for config changes to take effect.
    2022-08-16 21:28:29 [INFO] Updated master cloud.conf.
    2022-08-16 21:28:29 [INFO] Validating connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]
    2022-08-16 21:28:29 [INFO] Successfully validated connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]. Response: {'version': 'v8.9.0.5', 'vipVersion': '8.9.0'}
    2022-08-16 21:28:29 [INFO] Finished SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    

    Si l'exécution de cette commande provoque une erreur, reportez-vous à la section Dépannage de SaltStack Config Cloud.

  3. Redémarrez le service du master Salt.
    systemctl restart salt-master
  4. Répétez ce processus pour chaque master Salt.
    Note : Après avoir connecté chaque master Salt à SaltStack Config Cloud, vous pouvez supprimer le jeton d'API. Cela est requis uniquement pour connecter votre master Salt à SaltStack Config Cloud.

Après avoir exécuté la commande sseapi-config, une application OAuth est créée dans votre organisation pour chaque master Salt. Les masters Salt utilisent l'application OAuth pour obtenir un jeton d'accès qui est ajouté à chaque demande à SaltStack Config Cloud. Vous pouvez afficher les détails de l'application OAuth en sélectionnant Organisation > Applications Oauth.

La commande crée également des données de Pillar appelées CSP_AUTH_TOKEN sur le master Salt. Les Pillars sont des structures de données stockées sur le master Salt et transmises à un ou plusieurs minions autorisés à accéder à ces données. Les données de Pillar sont stockées dans /srv/pillar/csp.sls et contiennent l'ID client, le secret, votre ID d'organisation et l'URL CSP. Si vous devez changer votre secret, vous pouvez exécuter à nouveau la commande sseapi-config join.

Exemple de données de Pillar :

CSP_AUTH_TOKEN:
   csp_client_id: kH8wIvNxMJEGGmk7uCx4MBfPswEw7PpLaDh
   csp_client_secret: ebH9iuXnZqUOkuWKwfHXPjyYc5Umpa00mI9Wx3dpEMlrUWNy95
   csp_org_id: 6bh70973-b1g2-716c-6i21-i9974a6gdc85
   csp_url: https://console.cloud.vmware.com

Étape 5 : accepter les clés du master Salt

Après avoir connecté votre master Salt à SaltStack Config Cloud, vous devez accepter la clé du master Salt dans l'interface utilisateur de SaltStack Config Cloud.

Pour accepter la clé du master Salt :

  1. Connectez-vous à l'interface utilisateur de SaltStack Config.
  2. Dans la barre de navigation supérieure gauche, cliquez sur l'icône de menu Menu, puis sélectionnez Administration pour accéder à l'espace de travail Administration. Cliquez sur l'onglet Clés de master.
  3. Cochez la case en regard de la clé du master pour la sélectionner. Cliquez ensuite sur Accepter la clé.
  4. Si vous avez déjà connecté vos minions Salt à votre master Salt, une alerte s'affiche et indique que vous avez des clés de minion en attente à accepter. Pour accepter ces clés de minion, accédez à Clés de minion > En attente.
    1. Cochez les cases en regard de vos minions pour les sélectionner. Cliquez ensuite sur Accepter la clé.

    La clé est maintenant acceptée. Au bout de quelques secondes, le minion s'affiche sous l'onglet Accepté et dans l'espace de travail Cibles.

Vous pouvez vérifier que votre master Salt et vos minions Salt communiquent en exécutant une commande test.ping dans l'interface utilisateur de SaltStack Config. Pour plus d'informations, reportez-vous à la section Exécution d'une tâche ad hoc depuis l'espace de travail Cibles.