GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le module ansible phoenixNAP BMC

Présentation

Ansible est un logiciel de gestion et d'automatisation de serveur open source qui permet l'infrastructure en tant que code (IaC). Cet outil permet le déploiement, le provisionnement et la gestion de la configuration des applications de manière simple et efficace.

Ansible Automation Hub rassemble des modules de Red Hat et de partenaires certifiés. phoenixNAP est fier de faire partie de la collection de contenu de confiance Ansible avec le plugin Bare Metal Cloud. Ce concept introduit par Ansible permet d'installer des fournisseurs de cloud en tant que bibliothèques supplémentaires.

Suivez les étapes de ce guide pour installer le module phoenixNAP BMC Ansible et apprenez à utiliser des playbooks pertinents.

Prérequis

  • Ansible installé sur la machine de contrôle
  • Python installé sur la machine de contrôle (disponible par défaut)

Avantages de l'utilisation du module Ansible PNAP BMC

Cet outil IaC a été conçu pour permettre aux clients de provisionner des serveurs Bare Metal Cloud et d'effectuer d'autres tâches à l'aide de scripts YAML simples appelés playbooks. Vous pouvez désormais automatiser efficacement la création de serveurs avec un provisionnement immuable. Outre l'avantage d'automatiser les processus informatiques, un autre avantage est la possibilité de réexécuter le même code pour rétablir l'état d'origine d'un serveur en cas de modifications indésirables.

Ce modèle n'a pas de machines maître et esclave. Vous utilisez une machine pour pousser les fichiers, c'est-à-dire exécuter un script sur un ou plusieurs hôtes distants. Il n'y a pas d'agents sur des nœuds individuels qui extraient des informations du serveur principal. Le module Bare Metal Cloud ne nécessite pas SSH pour exécuter des playbooks.

En devenant un plugin certifié sur Red Hat Ansible Automation Hub, le processus d'installation du module BMC est rapide et réalisé à l'aide d'une commande Ansible unique . Ensuite, vous pouvez demander à Ansible d'exécuter un script contenant le code YAML avec la description de la tâche d'automatisation que vous souhaitez effectuer. Le module s'assure d'atteindre le résultat final que vous avez spécifié, et dans le bon ordre.

Le contenu d'Ansible Automation Hub est pris en charge par Red Hat et ses partenaires. De cette façon, même les environnements les plus exigeants peuvent être assurés que les modules répondront aux attentes.

Installer le module BMC Ansible

Avant d'installer le plugin BMC Ansible, vous avez besoin des requêtes Python paquet sur votre machine. Il permet d'envoyer différents types de requêtes HTTP.

Pour installer des requêtes , saisissez :

pip install requests

Ensuite, exécutez la commande Ansible pour installer le module phoenixNAP BMC :

ansible-galaxy collection install phoenixnap.bmc

Une fois l'installation terminée, consultez la documentation du module avec cette commande :

ansible-doc phoenixnap.bmc.server

Le plugin Ansible BMC dépend des requêtes API. Toutes les demandes d'API BMC sont documentées sur le portail des développeurs phoenixNAP.

Créer un fichier d'informations d'identification pour l'authentification

Pour vous authentifier avec succès auprès de notre serveur d'autorisation, utilisez le type d'octroi des informations d'identification du client.

Dans votre répertoire personnel, créez un répertoire .pnap et un config.yaml fichier à l'intérieur.

Le fichier doit contenir les informations suivantes :

clientId: myClientId

clientSecret: myClientSecret

Remplacez myClientId et monClientSecret avec votre identifiant et votre secret.

Livres de lecture Ansible phoenixNAP BMC

L'écriture de playbooks Ansible ne nécessite pas de compétences de codage particulières et couvre toutes les API BMC disponibles. Ces scripts sont écrits en YAML, un langage de sérialisation simple utilisé lors de la création de fichiers de configuration. Ansible fonctionne en vérifiant les états réels des serveurs et en les comparant avec l'ensemble d'instructions du playbook.

Lorsque l'état ne correspond pas au résultat final défini, le module s'assure de suivre le modèle de ressource du script pour atteindre l'objectif défini.

Si vous exécutez un playbook plus d'une fois, le module n'effectuera pas de tâches supplémentaires. Une fois que l'état réel d'un serveur BMC correspond à l'objectif du script, vous pouvez exécuter le script plusieurs fois et le module n'effectuera aucune tâche.

Comment exécuter les Playbooks BMC

Le nom d'un playbook suggère ce que fait le script. Par exemple, playbook_power_off.yml éteint un ou plusieurs serveurs.

Pour exécuter un playbook, utilisez cette syntaxe :

ansible-playbook playbook_name.yml

Par conséquent, pour réinitialiser un serveur, saisissez :

ansible-playbook playbook_reset.yml

Exemples de manuels BMC

Les exemples de playbook YAML que nous fournirons ci-dessous sont similaires les uns aux autres. La différence est l'état du serveur que vous souhaitez atteindre. Le seul fichier légèrement plus différent des autres est le script de création d'un serveur.

Chaque playbook doit contenir un ou plusieurs noms d'hôte ou server_ids , ainsi que le client_id et client_secret . La méthode préférée consiste à entrer les valeurs dans le ~/.pnap/config.yaml fichier au lieu de dans chaque playbook.

Créer un serveur

Le nom du playbook :playbook_create.yml

- name: Create new servers for account
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      location: PHX
      os: ubuntu/bionic
      type: s1.c1.medium
      state: present
      ssh_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"

Déprovisionner le serveur

Le nom du playbook :playbook_deprovision.yml

- name: reset servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      state: absent

Éteindre le serveur

Le nom du playbook :playbook_power_off.yml

- name: power on servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      state: powered-off

Allumer le serveur

Le nom du playbook :playbook_power_on.yml

- name: power on servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      state: powered-on

Redémarrer le serveur

Le nom du playbook :playbook_reboot.yml

- name: reset servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      state: rebooted

Réinitialiser le serveur

Le nom du playbook :playbook_reset.yml

- name: reset servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      ssh_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
      state: reset

Arrêter le serveur

Le nom du playbook :playbook_shutdown.yml

Dans cet exemple, nous avons utilisé server_ids au lieu de noms d'hôte .

- name: shutdown servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      server_ids:
        - 5eda71ef674cf47bd2599cfa
      state: shutdown

Ubuntu
  1. Comment installer Ansible sur AlmaLinux 8

  2. Comment installer Ansible sur CentOS 7

  3. Comment installer Ansible sur Fedora 35

  4. Comment installer Ansible sur Ubuntu 18.04 LTS

  5. Comment installer Ansible sur Linux Mint 20

Comment installer Tomcat sur Ubuntu 20.04 avec Ansible

Comment installer Ansible sur Ubuntu 20.04 LTS

Comment installer le module PHP Opcache sur Ubuntu 20.04

Comment installer Ansible sur Ubuntu 20.04

Comment installer Ansible sur Ubuntu 16.04 (Xenial)

Comment installer Ansible sur Ubuntu 18.04