GNU/Linux >> Linux Esercitazione >  >> Linux

RHCE Ansible Series #1:Saluta Ansible

In questa serie di Ansible imparerai tutte le competenze necessarie per gestire e automatizzare le operazioni della tua infrastruttura IT con Ansible.

Inoltre, in questa serie verranno trattati tutti gli obiettivi dell'esame RHCE (Red Hat Certified Engineer) EX294. Ciò significa che sarai completamente preparato per superare l'esame EX294 e diventare un Red Hat Certified Engineer se segui la serie.

Cos'è Ansible?

Ansible è uno strumento open source per la gestione della configurazione, il provisioning del software e la distribuzione delle applicazioni che semplifica l'automazione delle distribuzioni delle applicazioni e del funzionamento dell'infrastruttura IT.

Ansible è molto leggero, facile da configurare e non è affamato di risorse perché non ha bisogno di un agente per essere eseguito (senza agente) a differenza di altri strumenti di automazione, ad esempio Puppet, che è basato su agenti ed è un po' complesso da configurare.

Questo spiega perché Ansible sta diventando sempre più popolare e sta diventando lo strumento di automazione goto per molte aziende.

Nella fantascienza, la parola Ansible si riferisce a un ipotetico dispositivo che consente agli utenti di comunicare istantaneamente a grandi distanze; cioè un dispositivo di comunicazione più veloce della luce. Ora sai da dove Ansible ha preso ispirazione per il suo nome.

Creazione del tuo parco giochi

Per ottenere il massimo da questa serie e seguirla indolore, ti consiglio di utilizzare la stessa configurazione che sto utilizzando io.

Ho creato una macchina virtuale RHEL 8 (Red Hat Enterprise Linux) che fungerebbe da nodo di controllo. Un nodo di controllo è, come suggerisce il nome, fondamentalmente un server utilizzato per controllare altri host remoti (nodi gestiti).

Ho creato tre macchine virtuali CentOS 8 per nodi gestiti:node1, node2 e node3. Ho anche creato Ubuntu 18.04 per l'ultimo nodo gestito.

Ecco un diagramma che riassume l'intera configurazione:

Non ho abbastanza risorse sul mio computer per creare tutte queste macchine virtuali senza che il mio computer si blocchi. Quindi, ho usato Microsoft Azure tutte le macchine virtuali come puoi vedere nello screenshot qui sotto:

Puoi utilizzare qualsiasi altro provider di server cloud come AWS, Linode, Digital Ocean, UpCloud ecc. La maggior parte di essi fornisce crediti gratuiti del valore di $ 50 o $ 100 ai nuovi utenti. Puoi iscriverti a uno di questi servizi e utilizzare i crediti gratuiti per preparare la tua configurazione per seguire questa serie Ansible.

Installazione di Ansible

Ansible si affida a SSH e Python per fare tutta la magia dell'automazione, quindi devi solo installare Ansible sul nodo di controllo e assicurarti che OpenSSH e Python siano installati sia sul controllo che sui nodi gestiti.

Per farla breve, non è necessario che Ansible sia installato sui nodi gestiti!

Ora ti mostrerò come installare Ansible su una varietà di sistemi.

Installazione di Ansible sui sistemi RHEL

Inizierò mostrandoti come installare Ansible su un sistema RHEL 8 poiché questa serie mira principalmente a tutti gli obiettivi dell'esame RHCE.

Accedi al tuo nodo di controllo e passa all'utente root:

[[email protected] ~]$ sudo su -
Last login: Tue Oct 20 01:05:00 UTC 2020 on pts/0

Controllando le informazioni sulla versione di Linux, puoi vedere che sto eseguendo RHEL 8.2 e lo userò come nodo di controllo:

[[email protected] ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)

Per installare Ansible su un sistema RHEL 8, devi prima registrare il tuo sistema con subscription-manager comando:

[[email protected] ~]# subscription-manager register
Registering to: subscription.rhsm.redhat.com:443/subscription
Username:xxxxx
Password: xxxxx
The system has been registered with ID: 1d8ace59-c140-4f8c-b4bb-b4cd0f4fb811
The registered system name is: control

Ti verrà richiesto un nome utente e una password come puoi vedere, se non hai un account Red Hat, puoi creare un account e ottenere una prova gratuita.

Dovresti quindi allegare il nuovo abbonamento con il seguente comando:

[[email protected] ~]# subscription-manager attach --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64
Status: Subscribed

Product Name: Red Hat Enterprise Linux for x86_64 - Extended Update Support
Status: Subscribed

Nota che avresti potuto registrarti e allegare l'abbonamento in un unico comando:

subscription-manager register --username=<USER_NAME> --password=<PASSWORD> --auto-attach

Ora abbiamo accesso a tutti i repository RHEL 8. Puoi elencare tutti i repository Ansible disponibili eseguendo il comando seguente:

[[email protected] ~]# yum repolist all | grep ansible
ansible-2-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled

Ora trova il repository della versione Ansible più recente e abilitalo. Al momento della stesura di questo, ansible-2.9 è l'ultima versione e quindi abiliterò ansible-2.9-for-rhel-8-x86_64-rpms con yum_config_manager comando come segue:

[[email protected] ~]# yum-config-manager --enable ansible-2.9-for-rhel-8-x86_64-rpms
Updating Subscription Management repositories.

Ora puoi verificare che il repository Ansible sia effettivamente abilitato elencando tutti i repository abilitati sul tuo sistema:

[[email protected] ~]# yum repolist enabled
Updating Subscription Management repositories.
repo id                                                         repo name
ansible-2.9-for-rhel-8-x86_64-rpms Red Hat Ansible Engine 2.9 for RHEL 8 x86_64 (RPMs)
microsoft-azure-rhel8-eus Microsoft Azure RPMs for RHEL8 Extended Update Support
rhel-8-for-x86_64-appstream-eus-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream - Extended Update Support from RHUI (RPMs)
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-eus-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS - Extended Update Support from RHUI (RPMs)
rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)

Tutto questo lavoro preliminare è terminato. Ora puoi finalmente installare Ansible:

[[email protected] ~]# yum install -y ansible

Al termine dell'installazione. Puoi verificare che Ansible sia effettivamente installato eseguendo il comando:

[[email protected] ~]# ansible --version
ansible 2.9.14
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Dec  5 2019, 15:45:45) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]

Eccezionale! Ora hai installato con successo Ansible su RHEL 8. Sono sicuro che potresti pensare che sia stato un processo lungo!

Il lato positivo è che non ci sarà accesso a Internet durante l'esame, il che significa che il tuo sistema di controllo sarà dotato di tutti i repository di cui avrai bisogno e quindi non dovrai preoccuparti di utilizzare il gestore degli abbonamenti.

Ma è meglio essere preparati che essere sorpresi, ricordalo sempre!

Installazione di Ansible su CentOS

Su CentOS, Ansible è fornito dal repository EPEL (Extra Package for Enterprise Linux).

Puoi installare e abilitare il repository EPEL installando epel-release pacchetto come segue:

[[email protected] ~]# yum install -y epel-release

Ora puoi installare ansible:

[[email protected] ~]# yum install -y ansible

Tieni presente che abbiamo installato Ansible su uno dei nodi gestiti qui (nodo1) solo per scopi di apprendimento; devi solo installare Ansible sul nodo di controllo.

Installazione di Ansible su Ubuntu

Su Ubuntu, devi assicurarti di avere il repository della versione Ansible desiderato abilitato sul tuo sistema.

Puoi aggiungere e abilitare il repository ppa ansible-2.9 usando il seguente comando:

[email protected]:~# apt-add-repository --yes --update ppa:ansible/ansible-2.9

Infine, puoi installare Ansible su Ubuntu:

[email protected]:~# apt-get -y install ansible

Questo ci porta alla fine del nostro primo tutorial in questa serie di preparazione RHCE Ansible.

Resta sintonizzato per il prossimo tutorial mentre imparerai come configurare Ansible e come eseguire alcuni fantastici comandi Ad-Hoc Ansible.


Linux
  1. Decostruire un playbook Ansible

  2. Comprendere YAML per Ansible

  3. RHCE Ansible Series #8:Crittografia dei contenuti con Ansible Vault

  4. RHCE Ansible Series #7:Modelli Jinja2

  5. RHCE Ansible Series #6:Decision Making in Ansible

Come installare Ansible su Ubuntu

Come installare una raccolta Ansible su un nodo di controllo Ansible disconnesso

Un'introduzione ai fatti Ansible

RHCE Ansible Series #2:Esecuzione di comandi ad hoc

RHCE Ansible Series #3:Ansible Playbook

RHCE Ansible Series #12:Risoluzione dei problemi di Ansible