Création d'inventaires de ressources pour les actions Schematics

Un inventaire de ressources définit une seule ressource IBM Cloud ou un groupe de ressources où vous voulez exécuter des protocoles, des modules ou des rôles Ansible à l'aide d'actions Schematics.

Vous pouvez spécifier votre inventaire de ressources à l'aide d'un fichier d'inventaire statique ou extraire dynamiquement les ressources cible IBM Cloud des espaces de travail Schematics.

Création de fichiers d'inventaire statiques

Schematics prend en charge la définition de fichiers hosts.ini dans lesquels vous spécifiez un hôte cible unique ou un groupe d'hôtes cibles à l'aide de leur adresse IP. Vous pouvez affecter des noms à un groupe d'hôtes cible, tels que [webserver], et utiliser ce nom dans votre protocole Ansible pour indiquer à Schematics où exécuter les tâches du protocole.

Définition d'hôtes statiques

Pour se connecter à un hôte cible via SSH, Ansible requiert un nom d'hôte pouvant être résolu par DNS ou une adresse IP.

L'utilisation typique des actions Schematics pour configurer les instances de serveur virtuel sur IBM Cloud passe par un hôte bastion. Voir la documentation sur les actions. L'accès à l'interface de réseau privé d'une instance de serveur virtuel se fait via un hôte bastion. Cela signifie qu'il faut utiliser l'adresse IP privée des hôtes pour se connecter à l'hôte cible, car les noms d'hôte privés ne sont pas annoncés par DNS à Schematics. Pour les hôtes privés, l'inventaire doit être configuré avec une adresse IP et l'adresse IP d'un hôte bastion.

Les instances de serveur virtuel avec des adresses IP publiques et des noms d'hôte DNS enregistrés publiquement peuvent être référencées par des noms d'hôte DNS qualifiés complets.

L'utilisation de noms d'hôte (format abrégé) n'est pas prise en charge.

Création du fichier hôte

  1. Connectez-vous à la consoleIBM Cloud
  2. Cliquez sur l' icône Menu > Platform Automation > Schematics > Ansible.
  3. Cliquez sur le nom du cahier de jeu.
  4. Cliquez sur Inventaire > Créer un inventaire.
  5. Entrez un nom pour votre inventaire, vérifiez votre emplacement et sélectionnez votre Resource group dans lequel vous souhaitez créer un inventaire.
  6. Sélectionnez l'onglet Définir manuellement.
  7. Dans la zone Fichier, entrez les hôtes cible dans lesquels vous voulez exécuter le protocole Ansible. Veillez à spécifier vos hôtes dans une syntaxe INI. Pour obtenir un exemple de syntaxe, voir Format de fichier. Passez en revue les limitations pour vous assurer que votre définition d'inventaire est prise en charge dans Schematics.
  8. Cliquez sur Créer un inventaire.
  9. Suivez les étapes pour créer une action Schematics et utiliser l'inventaire des ressources que vous avez créé.

Format de fichier

Consultez l'exemple de fichier hosts.ini suivant pour afficher la structure de la liste d'inventaire de l'hôte statique. Pour plus d'informations sur les structures de fichier hosts.ini, voir la documentationAnsible.

Cet exemple fait référence à des hôtes accessibles publiquement via le nom d'hôte et à des hôtes privés via l'adresse IP.

mail.example.com

[webservers]
web1.mydomain.com
web2.mydomain.com

[dbservers]
172.16.5.9
172.16.5.10
172.16.5.11

[datacenters]
172.15.4.0

Limitations

Passez en revue les limitations suivantes des fichiers d'inventaire statique dans Schematics :

  • Schematics prend en charge uniquement la syntaxe du fichier INI.
  • Les variables ne sont pas prises en charge dans les fichiers hosts.ini.
  • La spécification de groupes d'hôtes à l'aide de paires clé-valeur dans les fichiers hosts.ini n'est pas prise en charge.
  • Vous devez mettre à jour manuellement le fichier hosts.ini si le nom d'hôte ou l'adresse IP des hôtes cible change.
  • Lorsque les hôtes sont sécurisés par un hôte bastion et accessibles uniquement via une adresse IP privée, l'adresse IP de l'hôte doit être spécifiée.
  • Lorsque les hôtes sont accessibles via une adresse IP accessible au public et ont un nom DNS enregistré, l'hôte peut être référencé par son nom d'hôte qualifié complet.
  • Tous les hôtes cible doivent être configurés avec la même clé SSH publique. Lorsque vous utilisez le fichier d'inventaire statique dans votre action Schematics, vous pouvez spécifier une clé SSH pour vous authentifier auprès de tous les hôtes cible inclus dans votre inventaire de ressources. La clé SSH doit contenir \n à la fin des détails de la clé en cas d'appels de ligne de commande ou d'API. Pour plus d'informations sur les clés SSH, voir Ajouter une clé SSH.

Création dynamique d'inventaires de ressources à partir d'espaces de travail Schematics

Vous pouvez construire dynamiquement votre inventaire de ressources à partir des ressources Cloud que vous avez provisionnées avec les espaces de travail Schematics.

Les inventaires de ressources dynamiques référencent les ressources Cloud que vous avez provisionnées avec les espaces de travail Schematics. Pour récupérer les ressources du nuage à partir de vos espaces de travail, utilisez des requêtes de ressources prédéfinies. Vous n'avez pas besoin de suivre les adresses IP affectées à vos ressources cible car Schematics détermine automatiquement les hôtes cible lorsque vous utilisez cet inventaire dans l'action Schematics.

  1. Connectez-vous à la consoleIBM Cloud
  2. Cliquez sur l'icône Menu > Platform Automation > Schematics > Ansible.
  3. Cliquez sur le nom du cahier de jeu.
  4. Cliquez sur Inventaire > Créer un inventaire.
  5. Entrez un nom pour votre inventaire, vérifiez votre emplacement et sélectionnez votre Resource group dans lequel vous souhaitez créer un inventaire.
  6. Sélectionnez l'onglet Groupes d'hôtes.
  7. Cliquez sur Créer un groupe d'hôtes.
  8. Entrez un nom pour votre groupe d'hôtes et sélectionnez l'espace de travail Schematics qui a mis à disposition les hôtes cible que vous souhaitez ajouter à votre groupe d'hôtes.
  9. Facultatif : cliquez sur Ajouter une requête pour ajouter une autre condition à votre requête et limiter le nombre d'hôtes cible qui sont ajoutés à votre groupe d'hôtes. Vous pouvez choisir d'identifier vos hôtes à l'aide du nom de ressource ou d'une étiquette. Pour plus d'informations, voir les requêtes de ressources prises en charge.
  10. Répétez les étapes 5 à 8 pour ajouter d'autres groupes d'hôtes.
  11. Dans la liste des tableaux, sélectionnez les groupes d'hôtes que vous souhaitez inclure dans votre inventaire de ressources.
  12. Cliquez sur Créer un inventaire.
  13. Suivez les étapes pour créer les actions Schematics et utiliser l'inventaire des ressources que vous avez créé.

Requêtes de ressources prises en charge

Requête de ressource
Requête prise en charge Description
Nom de l'espace de travail Sélectionner toutes les ressources Cloud d'un espace de travail spécifique
Nom de l'espace de travail ET nom de la ressource Sélectionnez une ressource spécifique dans un espace de travail spécifique à l'aide du nom de la ressource. Pour sélectionner plusieurs ressources à partir du même espace de travail, vous pouvez ajouter plusieurs requêtes de ce type.
Nom de l'espace de travail ET balise Sélectionnez une ressource spécifique à partir d'un espace de travail spécifique en utilisant des balises. Les étiquettes sont ajoutées à la ressource lors de la création de l'espace de travail et de la mise à disposition de votre ressource. Pour sélectionner plusieurs ressources avec des balises différentes du même espace de travail, vous pouvez ajouter plusieurs requêtes de ce type.

Limitations

Passez en revue les limitations suivantes des inventaires dynamiques dans Schematics :

  • Vous pouvez choisir parmi les Requêtes prises en charge pour sélectionner les instances de serveur virtuel cible à inclure dans votre stock de ressources.
  • Schematics extrait l'adresse IP d'une cible Virtual Servers for VPC et ajoute l'adresse IP à l'inventaire des ressources. Si la cible Virtual Servers for VPC possède une adresse IP publique, celle-ci est utilisée pour l'inventaire des ressources. S'il n'existe pas d'adresse IP publique, l'adresse IP privée est utilisée pour l'inventaire des ressources.
  • Tous les hôtes cible doivent être configurés avec la même clé SSH publique. Lorsque vous utilisez le fichier d'inventaire statique dans votre action Schematics, vous pouvez spécifier une clé SSH pour vous authentifier auprès de tous les hôtes cible inclus dans votre inventaire de ressources. La clé SSH doit contenir \n à la fin des détails de la clé en cas d'appels de ligne de commande ou d'API. Pour plus d'informations sur les clés SSH, voir Ajouter une clé SSH.