GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare il modulo phoenixNAP BMC Ansible

Introduzione

Ansible è un software open source per la gestione e l'automazione dei server che abilita Infrastructure as Code (IaC). Questo strumento consente la distribuzione, il provisioning e la gestione della configurazione delle applicazioni in modo semplice ed efficace.

Ansible Automation Hub raccoglie moduli da Red Hat e partner certificati. phoenixNAP è orgogliosa di far parte della raccolta di contenuti affidabili di Ansible con il plug-in Bare Metal Cloud. Questo concetto introdotto da Ansible consente di installare provider cloud come librerie aggiuntive.

Segui i passaggi in questa guida per installare il modulo phoenixNAP BMC Ansible e scopri come utilizzare i playbook pertinenti.

Prerequisiti

  • Ansible installato sulla macchina di controllo
  • Python installato sulla macchina di controllo (disponibile per impostazione predefinita)

Vantaggi dell'utilizzo del modulo PNAP BMC Ansible

Questo strumento IaC è stato progettato per consentire ai clienti di eseguire il provisioning di server Bare Metal Cloud ed eseguire altre attività utilizzando semplici script YAML chiamati playbook. Ora puoi automatizzare in modo efficiente la creazione di server con il provisioning immutabile. Oltre al vantaggio dell'automazione dei processi IT, un altro vantaggio è la possibilità di eseguire nuovamente lo stesso codice per riportare un server allo stato originale in caso di modifiche indesiderate.

Questo modello non ha macchine master e slave. Si utilizza una macchina per eseguire il push dei file, ovvero eseguire uno script su uno o più host remoti. Non ci sono agenti sui singoli nodi che estraggono informazioni dal server principale. Il modulo Bare Metal Cloud non richiede SSH per eseguire i playbook.

Diventando un plug-in certificato su Red Hat Ansible Automation Hub, il processo di installazione del modulo BMC è rapido e viene completato utilizzando un unico comando Ansible . Quindi, puoi indicare ad Ansible di eseguire uno script che contiene il codice YAML con la descrizione del lavoro di automazione che desideri eseguire. Il modulo garantisce di ottenere il risultato finale specificato e nella sequenza corretta.

Il contenuto di Ansible Automation Hub è supportato da Red Hat e dai suoi partner. In questo modo, anche gli ambienti più esigenti possono essere certi che i moduli saranno all'altezza delle aspettative.

Installa il modulo BMC Ansible

Prima di installare il plug-in BMC Ansible, sono necessarie le richieste di Python pacchetto sulla tua macchina. Consente di inviare diversi tipi di richieste HTTP.

Per installare richieste , inserisci:

pip install requests

Quindi, esegui il comando Ansible per installare il modulo BMC phoenixNAP:

ansible-galaxy collection install phoenixnap.bmc

Una volta completata l'installazione, visualizza la documentazione del modulo con questo comando:

ansible-doc phoenixnap.bmc.server

Il plug-in Ansible BMC dipende dalle richieste API. Tutte le richieste API BMC sono documentate nel portale per sviluppatori phoenixNAP.

Crea file di credenziali per l'autenticazione

Per eseguire correttamente l'autenticazione con il nostro server di autorizzazione, utilizza il tipo di concessione Credenziali client.

Nella tua home directory, crea una directory .pnap e un config.yaml file al suo interno.

Il file deve contenere le seguenti informazioni:

clientId: myClientId

clientSecret: myClientSecret

Sostituisci myClientId e myClientSecret con il tuo ID e segreto.

Playbook Ansible phoenixNAP BMC

La scrittura di playbook Ansible non richiede abilità di codifica speciali e coprono tutte le API BMC disponibili. Questi script sono scritti in YAML, un semplice linguaggio di serializzazione utilizzato durante la creazione di file di configurazione. Ansible funziona controllando gli stati effettivi dei server e li confronta con il set di istruzioni nel playbook.

Quando lo stato non corrisponde al risultato finale definito, il modulo garantisce di seguire il modello di risorsa dallo script per raggiungere l'obiettivo prefissato.

Se esegui un playbook più di una volta, il modulo non eseguirà attività aggiuntive. Una volta che lo stato effettivo di un server BMC corrisponde all'obiettivo dello script, è possibile eseguire lo script più volte e il modulo non eseguirà alcuna attività.

Come eseguire i playbook BMC

Il nome di un playbook suggerisce cosa fa lo script. Ad esempio, playbook_power_off.yml disattiva uno o più server.

Per eseguire un playbook, utilizza questa sintassi:

ansible-playbook playbook_name.yml

Pertanto, per reimpostare un server, inserisci:

ansible-playbook playbook_reset.yml

Esempi di Playbook BMC

Gli esempi di playbook YAML che forniremo di seguito sono simili tra loro. La differenza è lo stato del server che vuoi raggiungere. L'unico file leggermente più diverso dagli altri è lo script per la creazione di un server.

Ogni playbook deve contenere uno o più nomi host o id_server , nonché id_client e client_secret . Il metodo preferito è inserire i valori in ~/.pnap/config.yaml file invece che in ogni playbook.

Crea server

Il nome del 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') }}"

Deprovisioning del server

Il nome del 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

Spegni il server

Il nome del 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

Accendi il server

Il nome del 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

Riavvia il server

Il nome del 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

Ripristina server

Il nome del 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

Spegnimento server

Il nome del playbook:playbook_shutdown.yml

In questo esempio, abbiamo usato server_ids invece di nomi 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. Come installare Ansible su Ubuntu Server 21.04

  2. Come installare Ansible su AlmaLinux 8

  3. Come installare Ansible su Debian 11

  4. Come installare Ansible su CentOS 7

  5. Come installare Ansible su CentOS 8

Come installare Tomcat su Ubuntu 20.04 usando Ansible

Come installare Ansible su Ubuntu 20.04 LTS

Come installare il modulo PHP Opcache su Ubuntu 20.04

Come installare Ansible su Ubuntu 20.04

Come installare Ansible su Ubuntu 16.04 (Xenial)

Come installare Ansible su Ubuntu 18.04