GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar el módulo phoenixNAP BMC Ansible

Introducción

Ansible es un software de automatización y gestión de servidores de código abierto que permite la infraestructura como código (IaC). Esta herramienta permite la implementación, el aprovisionamiento y la gestión de la configuración de aplicaciones de forma sencilla y eficaz.

Ansible Automation Hub reúne módulos de Red Hat y socios certificados. phoenixNAP se enorgullece de ser parte de la colección de contenido confiable de Ansible con el complemento Bare Metal Cloud. Este concepto que introdujo Ansible hace posible instalar proveedores en la nube como bibliotecas adicionales.

Siga los pasos de esta guía para instalar el módulo phoenixNAP BMC Ansible y aprenda a usar libros de jugadas relevantes.

Requisitos previos

  • Ansible instalado en la máquina de control
  • Python instalado en la máquina de control (disponible de forma predeterminada)

Beneficios de usar el módulo PNAP BMC Ansible

Esta herramienta IaC se diseñó para permitir a los clientes aprovisionar servidores Bare Metal Cloud y realizar otras tareas utilizando secuencias de comandos YAML simples. llamados libros de jugadas. Ahora puede automatizar de manera eficiente la creación de servidores con aprovisionamiento inmutable. Además del beneficio de automatizar los procesos de TI, otra ventaja es la capacidad de volver a ejecutar el mismo código para revertir un servidor al estado original en caso de modificaciones no deseadas.

Este modelo no tiene máquinas maestras y esclavas. Utiliza una máquina para enviar los archivos, es decir, ejecuta un script en uno o varios hosts remotos. No hay agentes en nodos individuales que obtengan información del servidor principal. El módulo Bare Metal Cloud no requiere SSH para ejecutar playbooks.

Al convertirse en un complemento certificado en Red Hat Ansible Automation Hub, el proceso de instalación del módulo BMC es rápido y se completa con un comando único de Ansible . Luego, puede indicarle a Ansible que ejecute un script que contenga el código YAML con la descripción del trabajo de automatización que desea realizar. El módulo garantiza lograr el resultado final que especificó y en la secuencia correcta.

El contenido de Ansible Automation Hub cuenta con el respaldo de Red Hat y sus socios. De esta forma, incluso los entornos más exigentes pueden estar seguros de que los módulos estarán a la altura de las expectativas.

Instalar módulo BMC Ansible

Antes de instalar el complemento BMC Ansible, necesita las solicitudes de Python paquete en su máquina. Permite enviar diferentes tipos de solicitudes HTTP.

Para instalar solicitudes , introduce:

pip install requests

Luego, ejecute el comando Ansible para instalar el módulo phoenixNAP BMC:

ansible-galaxy collection install phoenixnap.bmc

Una vez que se complete la instalación, vea la documentación del módulo con este comando:

ansible-doc phoenixnap.bmc.server

El complemento Ansible BMC depende de las solicitudes de API. Todas las solicitudes de API de BMC están documentadas en el Portal de desarrolladores de phoenixNAP.

Crear archivo de credenciales para autenticación

Para autenticarse con éxito con nuestro servidor de autorización, utilice el tipo de concesión Credenciales de cliente.

En su directorio de inicio, cree un directorio .pnap y un config.yaml archivo dentro de él.

El archivo debe contener la siguiente información:

clientId: myClientId

clientSecret: myClientSecret

Reemplazar myClientId y mi secreto de cliente con tu DNI y secreto.

Libros de estrategias BMC de Ansible phoenixNAP

Escribir playbooks de Ansible no requiere habilidades especiales de codificación y cubren todas las API de BMC disponibles. Estos scripts están escritos en YAML, un lenguaje de serialización simple que se usa al crear archivos de configuración. Ansible funciona comprobando los estados reales de los servidores y los compara con el conjunto de instrucciones del libro de jugadas.

Cuando el estado no coincide con el resultado final definido, el módulo se asegura de seguir el modelo de recurso del script para alcanzar el objetivo establecido.

Si ejecuta un playbook más de una vez, el módulo no realizará tareas adicionales. Una vez que el estado real de un servidor BMC corresponde al objetivo de la secuencia de comandos, puede ejecutar la secuencia de comandos varias veces y el módulo no realizará ninguna tarea.

Cómo ejecutar libros de jugadas de BMC

El nombre de un libro de jugadas sugiere lo que hace el guión. Por ejemplo, playbook_power_off.yml apaga uno o más servidores.

Para ejecutar un libro de jugadas, use esta sintaxis:

ansible-playbook playbook_name.yml

Por lo tanto, para restablecer un servidor, ingrese:

ansible-playbook playbook_reset.yml

Ejemplos de libros de jugadas de BMC

Los ejemplos del libro de jugadas YAML que proporcionaremos a continuación son similares entre sí. La diferencia es el estado del servidor que desea lograr. El único archivo que es un poco más diferente que los demás es el script para crear un servidor.

Cada libro de jugadas debe contener uno o más nombres de host o server_ids , así como el client_id y cliente_secreto . El método preferido es ingresar los valores en ~/.pnap/config.yaml archivo en lugar de en cada libro de jugadas.

Crear servidor

El nombre del libro de jugadas: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') }}"

Servidor de desaprovisionamiento

El nombre del libro de jugadas: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

Apagar servidor

El nombre del libro de jugadas: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

Encender servidor

El nombre del libro de jugadas: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

Reiniciar servidor

El nombre del libro de jugadas: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

Restablecer servidor

El nombre del libro de jugadas: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

Apagar servidor

El nombre del libro de jugadas:playbook_shutdown.yml

En este ejemplo, usamos server_ids en lugar de nombres de host .

- 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. Cómo instalar Ansible en AlmaLinux 8

  2. Cómo instalar Ansible en Debian 11

  3. Cómo instalar Ansible en CentOS 8

  4. Cómo instalar Ansible en Fedora 35

  5. Cómo instalar Ansible en Ubuntu 18.04 LTS

Cómo instalar Tomcat en Ubuntu 20.04 usando Ansible

Cómo instalar Ansible en Ubuntu 20.04 LTS

Cómo instalar el módulo PHP Opcache en Ubuntu 20.04

Cómo instalar Ansible en Ubuntu 20.04

Cómo instalar Ansible en Ubuntu 16.04 (Xenial)

Cómo instalar Ansible en Ubuntu 18.04