GNU/Linux >> Tutoriales Linux >  >> Linux

Serie RHCE Ansible n.º 1:Salude a Ansible

En esta serie de Ansible, aprenderá todas las habilidades que necesita para administrar y automatizar sus operaciones de infraestructura de TI con Ansible.

Además, en esta serie se cubrirán todos los objetivos del examen RHCE (Red Hat Certified Engineer) EX294. Esto significa que estará completamente preparado para aprobar el examen EX294 y convertirse en un ingeniero certificado de Red Hat si sigue la serie.

¿Qué es Ansible?

Ansible es una herramienta de implementación de aplicaciones, aprovisionamiento de software y administración de configuración de código abierto que hace que la automatización de las implementaciones de aplicaciones y la operación de la infraestructura de TI sea muy simple.

Ansible es muy liviano, fácil de configurar y no consume muchos recursos porque no necesita un agente para ejecutarse (sin agente) a diferencia de otras herramientas de automatización, por ejemplo, Puppet, que se basa en un agente y es un poco complejo de configurar.

Esto explica por qué Ansible está creciendo en popularidad cada día y se está convirtiendo en la herramienta de automatización para muchas empresas.

En ciencia ficción, la palabra Ansible se refiere a un dispositivo hipotético que permite a los usuarios comunicarse instantáneamente a través de grandes distancias; es decir, un dispositivo de comunicación más rápido que la luz. Ahora ya sabe de dónde se inspiró Ansible para su nombre.

Creando tu patio de juegos

Para aprovechar al máximo esta serie y seguirla sin problemas, le aconsejo que use la misma configuración que estoy usando.

Creé una máquina virtual RHEL 8 (Red Hat Enterprise Linux) que serviría como nodo de control. Un nodo de control es, como su nombre indica, básicamente un servidor que se utiliza para controlar otros hosts remotos (nodos gestionados).

Creé tres máquinas virtuales CentOS 8 para nodos administrados:nodo1, nodo2 y nodo3. También creé un Ubuntu 18.04 para el último nodo administrado.

Aquí hay un diagrama que resume toda la configuración:

No tengo suficientes recursos en mi computadora para crear todas estas máquinas virtuales sin que mi computadora falle. Por lo tanto, he usado Microsoft Azure en todas las máquinas virtuales, como puede ver en la siguiente captura de pantalla:

Puede usar cualquier otro proveedor de servidores en la nube como AWS, Linode, Digital Ocean, UpCloud, etc. La mayoría de ellos brindan créditos gratuitos por valor de $ 50 o $ 100 a los nuevos usuarios. Puede registrarse con uno de estos servicios y usar los créditos gratuitos para preparar su configuración para seguir esta serie de Ansible.

Instalando Ansible

Ansible se basa en SSH y Python para hacer toda la magia de la automatización, por lo que solo necesita instalar Ansible en el nodo de control y asegurarse de que OpenSSH y Python estén instalados tanto en el control como en los nodos administrados.

Para resumir, ¡no necesita tener Ansible instalado en los nodos administrados!

Ahora, le mostraré cómo instalar Ansible en una variedad de sistemas.

Instalación de Ansible en sistemas RHEL

Primero, comenzaré mostrándole cómo instalar Ansible en un sistema RHEL 8, ya que esta serie se enfoca principalmente en todos los objetivos del examen RHCE.

Inicie sesión en su nodo de control y cambie al usuario raíz:

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

Verificando la información de la versión de Linux, puede ver que estoy ejecutando RHEL 8.2 y voy a usar esto como nodo de control:

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

Para instalar Ansible en un sistema RHEL 8, primero debe registrar su sistema con el administrador de suscripciones 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

Se le pedirá un nombre de usuario y una contraseña como puede ver, si no tiene una cuenta de Red Hat, puede crear una cuenta y obtener una prueba gratuita.

Luego, adjuntaría la nueva suscripción con el siguiente 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

Tenga en cuenta que podría haberse registrado y adjuntado la suscripción en un solo comando:

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

Ahora tenemos acceso a todos los repositorios de RHEL 8. Puede enumerar todos los repositorios de Ansible disponibles ejecutando el siguiente comando:

[[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

Ahora busque el repositorio de la versión más reciente de Ansible y actívelo. Al momento de escribir esto, ansible-2.9 es la última versión, por lo que voy a habilitar ansible-2.9-for-rhel-8-x86_64-rpms con el yum_config_manager comando de la siguiente manera:

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

Ahora puede verificar que el repositorio de Ansible esté realmente habilitado enumerando todos los repositorios habilitados en su 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)

Todo este trabajo preliminar está hecho. Ahora puede finalmente instalar Ansible:

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

Una vez finalizada la instalación. Puede verificar que Ansible esté efectivamente instalado ejecutando el 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)]

¡Impresionante! Ahora ha instalado correctamente Ansible en RHEL 8. ¡Estoy seguro de que puede estar pensando que fue un proceso largo!

En el lado positivo, no habrá acceso a Internet en el examen, lo que significa que su sistema de control vendrá equipado con todos los repositorios que necesitará, por lo que no tendrá que preocuparse por usar el administrador de suscripciones.

Pero es mejor estar preparado que sorprenderse, ¡recuérdalo siempre!

Instalando Ansible en CentOS

En CentOS, Ansible es proporcionado por el repositorio EPEL (Extra Package for Enterprise Linux).

Puede instalar y habilitar el repositorio EPEL instalando el epel-release paquete de la siguiente manera:

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

Ahora, puede instalar ansible:

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

Tenga en cuenta que instalamos Ansible en uno de los nodos administrados aquí (nodo 1) solo con fines de aprendizaje; solo necesita instalar Ansible en el nodo de control.

Instalando Ansible en Ubuntu

En Ubuntu, debe asegurarse de tener habilitado el repositorio de la versión de Ansible deseado en su sistema.

Puede agregar y habilitar el repositorio ppa de ansible-2.9 con el siguiente comando:

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

Finalmente, puede instalar Ansible en Ubuntu:

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

Esto nos lleva al final de nuestro primer tutorial en esta serie de preparación de RHCE Ansible.

Estén atentos para el próximo tutorial, ya que aprenderán a configurar Ansible y ejecutarán algunos comandos Ad-Hoc Ansible realmente geniales.


Linux
  1. Deconstruyendo un libro de jugadas de Ansible

  2. Comprender YAML para Ansible

  3. RHCE Ansible Series #8:Cifrado de contenido con Ansible Vault

  4. Serie RHCE Ansible n.º 7:Plantillas Jinja2

  5. RHCE Ansible Series #6:Toma de decisiones en Ansible

Cómo instalar Ansible en Ubuntu

Cómo instalar una colección de Ansible en un nodo de control de Ansible desconectado

Una introducción a los hechos de Ansible

Serie RHCE Ansible n.º 2:Ejecución de comandos ad-hoc

Serie RHCE Ansible n.º 3:Manuales de Ansible

Serie RHCE Ansible n.º 12:solución de problemas de Ansible