GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Ansible en Oracle Linux 8

Ansible es una plataforma de automatización gratuita y de código abierto que utilizan los administradores de sistemas para instalar, configurar y aprovisionar varios sistemas a la vez. Hoy en día, los entornos de TI son muy complejos y, a menudo, necesitan escalar extremadamente rápido. La automatización facilita el trabajo de los administradores y desarrolladores de sistemas y les permite centrar la atención en otras tareas que agregan valor a una organización. Ansible es muy simple de configurar y usar; no necesita ninguna habilidad de codificación para usar Ansible.

En esta publicación, le mostraremos cómo instalar Ansible en Oracle Linux 8.

Requisitos

  • Servidor que ejecuta Oracle Linux 8 en Atlantic.Net Cloud Platform. Este será su nodo administrador
  • Un segundo servidor que ejecuta Oracle Linux 8 en Atlantic.Net Cloud Platform. Este será su nodo trabajador
  • Una contraseña de root configurada en su servidor

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Oracle Linux 8 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

dnf update -y

Paso 2:configurar una autenticación basada en clave SSH

Antes de comenzar, deberá configurar un inicio de sesión sin contraseña SSH entre el nodo de control de Ansible y el nodo administrador. Puede hacerlo configurando una autenticación basada en clave SSH.

Primero, genere una clave pública y privada usando el siguiente comando:

ssh-keygen -t rsa

Debería ver el siguiente resultado:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:0qOchzAC0Asm8WPlduL7ZxN6C5NUelScBo2nYVuqPMs [email protected]
The key's randomart image is:
+---[RSA 3072]----+
|oo  .   .=..     |
|+o.o    +.B      |
|+.+.+ ..oO       |
| o.+ o =+        |
|  . +.+.S        |
|   . *+B..       |
|    ..O+..       |
|     .E+=        |
|      .+.o       |
+----[SHA256]-----+

A continuación, copie la clave pública generada en los nodos administrados de Ansible con el siguiente comando:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Debería ver el siguiente resultado:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
ECDSA key fingerprint is SHA256:4K4sZbu1hLHzDGlwmWAJng6nDbxDqp6hnv65KDaOAn0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]<server-ip>'"
and check to make sure that only the key(s) you wanted were added.

Ahora, ejecute el siguiente comando para probar el inicio de sesión sin contraseña SSH:

ssh [email protected]

Paso 3:Instale Ansible en Oracle Linux 8

Ahora, deberá instalar el paquete de Ansible en el nodo de control de Ansible. De forma predeterminada, el paquete Ansible no está disponible en el repositorio predeterminado de Oracle Linux 8, por lo que deberá instalarlo desde el repositorio EPEL.

Primero, instale el repositorio EPEL usando el siguiente comando:

dnf install -y epel-release

A continuación, instale el paquete de Ansible con el siguiente comando:

dnf install ansible -y

Una vez que Ansible esté instalado, verifique la versión de Ansible con el siguiente comando:

ansible --version

Debería ver el siguiente resultado:

ansible 2.9.27
  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, Nov 10 2021, 06:50:23) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3.0.2)]

Paso 4:configurar los hosts de Ansible

A continuación, deberá editar el archivo de configuración de hosts de Ansible y definir el servidor Linux remoto que desea administrar.

Puedes editarlo con el siguiente comando:

nano /etc/ansible/hosts

Agregue las siguientes líneas:

[web]
server1 ansible_ssh_host=<manager-node-ip> ansible_ssh_port=22 ansible_ssh_user=root

[database]
dbserver1 ansible_ssh_host=<worker-node-ip> ansible_ssh_port=22 ansible_ssh_user=root

Guarde y cierre el archivo cuando haya terminado.

A continuación, edite el archivo de configuración de Ansible y deshabilite las advertencias de obsolescencia y la verificación de clave de host:

nano /etc/ansible/ansible.cfg

Agregue la siguiente línea debajo de [predeterminados]:

deprecation_warnings=False
host_key_checking = False

Guarde y cierre el archivo cuando haya terminado.

Paso 5:Cómo usar Ansible

En este punto, Ansible está instalado y configurado. Ahora, deberá comprobar la funcionalidad de Ansible mediante los comandos ad-hoc de Ansible:

Primero, verifique la conectividad de todos los nodos administrados usando el siguiente comando:

ansible -m ping all

Si todo está bien, debería ver el siguiente resultado:

dbserver1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
server1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Si solo desea verificar la conectividad del servidor de la base de datos, ejecute el siguiente comando:

ansible -m ping database

Obtendrá el siguiente resultado:

dbserver1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Para verificar la memoria libre en el nodo del servidor web, ejecute el siguiente comando:

ansible -m shell -a "free -m" web

Obtendrá el siguiente resultado:

server1 | CHANGED | rc=0 >>
              total        used        free      shared  buff/cache   available
Mem:           1817         621         210          21         985        1006
Swap:             0           0           0

Para verificar la versión de MySQL en el nodo del servidor de la base de datos, ejecute el siguiente comando:

ansible -m shell -a "mysqladmin --version" database

Debería ver el siguiente resultado:

dbserver1 | CHANGED | rc=0 >>
mysqladmin  Ver 8.0.26 for Linux on x86_64 (Source distribution)

Paso 6:Cree un libro de jugadas de Ansible para instalar paquetes en nodos administrados

Ansible nos permite crear un libro de jugadas para definir todas las tareas que queremos realizar en los nodos administrados. Primero, cree un directorio para almacenar su libro de jugadas.

mkdir project

A continuación, navegue hasta el directorio creado y cree un archivo YAML con el siguiente comando:

cd project
nano app.yaml

Agregue la siguiente configuración:

- name: Install Packages
  hosts:
    - web
    - database
  tasks:
  - name: Install php and nginx
    package:
      name:
        - php
        - httpd
      state: present

Guarde y cierre el archivo, luego ejecute el libro de jugadas usando el siguiente comando:

ansible-playbook app.yaml

Una vez que el libro de jugadas de Ansible se ejecute correctamente, obtendrá el siguiente resultado:

PLAY [Install Packages] **********************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************
ok: [server1]
ok: [dbserver1]

TASK [Install php and apache] ****************************************************************************************************************
ok: [server1]
changed: [dbserver1]

PLAY RECAP ***********************************************************************************************************************************
dbserver1                  : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
server1                    : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Ahora puede verificar la versión de PHP en el nodo del servidor web usando el siguiente comando:

ansible -m shell -a "php -v" web

Obtendrá el siguiente resultado:

server1 | CHANGED | rc=0 >>
PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Conclusión

En esta guía, explicamos cómo instalar Ansible en Oracle Linux 8. También explicamos cómo usar los comandos ad-hoc y el libro de jugadas de Ansible para aprovisionar nodos administrados. Ahora puede usar Ansible para aprovisionar y administrar fácilmente toda su infraestructura de TI. ¡Pruébelo en alojamiento VPS de Atlantic.Net!


Linux
  1. Cómo instalar Python en Linux

  2. Cómo instalar Java en Linux

  3. Cómo instalar y probar Ansible en Linux

  4. Cómo instalar Ansible en CentOS 8 Linux

  5. Cómo instalar Ansible en Linux Mint 20

Cómo instalar FreeOffice en Linux

Cómo instalar Apache Solr en Oracle Linux 8

Cómo instalar GitLab CE en Oracle Linux 8

Cómo instalar OpenCart en Oracle Linux 8

Cómo instalar Joomla en Oracle Linux 8

Cómo instalar Ansible en Linux Mint 20