Resumen
Este artículo mostrará un proceso sobre cómo instalar Docker usando Ansible. Crearemos un libro de jugadas de Ansible que contendrá solo cinco líneas de código. Lo que nos permitirá tener un libro de jugadas tan pequeño es el script de instalación oficial de Docker, que automatizará el proceso de instalación de Docker para nosotros. El script funciona en muchas de las principales distribuciones de Linux, como:Debian, Ubuntu, Fedora, RedHat, CentOS, OpenSuse y Raspbian. La secuencia de comandos que usaremos se puede ver y descargar en:secuencia de comandos de instalación de Docker . Para este ejemplo, instalaremos Docker usando Ansible en la máquina virtual Debian 11.
Sin embargo, su secuencia de comandos no instala la composición de Docker, pero aún así es una secuencia de comandos increíble.
Este proceso se puede aplicar en cualquier tipo de máquina Linux:bare metal, VM o un servidor en la nube.
Otra nota al margen – también cubrimos un proceso sobre cómo implementar contenedores Docker usando Ansible – El proceso se puede ver en esta publicación y cómo implementar Nextcloud y WordPress en Docker usando Ansible.
Requisitos
Para instalar correctamente Docker con Ansible, se requieren los siguientes requisitos previos:
- Acceso SSH habilitado en el grupo host (máquinas de servidor Linux/vms)
- Un usuario con privilegios sudo (opcional:para usar la cuenta raíz)
- Herramienta curl instalada en servidores Linux
¿Qué es Ansible?
Ansible es una herramienta de implementación de aplicaciones, administración de configuración y aprovisionamiento de software de código abierto que habilita la infraestructura como código. Se ejecuta en muchos sistemas similares a Unix y puede configurar tanto sistemas similares a Unix como Microsoft Windows.
Cree el archivo de host con inventario y variables
Primero necesitamos crear un archivo de hosts con los nodos remotos y configurar las variables de inicio de sesión:
sudo nano /etc/ansible/hosts
En el archivo de texto, agregue los parámetros del host para que se vean así:
[docker] 192.168.122.87 [docker:vars] ansible_user=sudouser1 ansible_password=user1password ansible_become_password=user1password
Guarde el archivo y salga.
Desglose del archivo de hosts:
[ventana acoplable]
192.168.122.87 – Dirección IP del host remoto (vm/server) bajo el grupo de host denominado docker
[docker:vars]
usuario_ansible – nombre de usuario del usuario que tiene privilegios de sudo (también puede configurar el usuario raíz)
contraseña_ansible – contraseña de usuario sudo
ansible_become_password – contraseña de usuario sudo (para privilegios sudo al ejecutar comandos que requieren acceso sudo para ejecutarse)
Crear el libro de jugadas .yaml
El siguiente paso para nosotros es crear el libro de jugadas .yaml en el que debemos agregar la configuración. Puede crear un archivo de libro de jugadas en cualquier lugar que desee:
nano docker-install.yml
Una vez que se abra el editor de texto, copie y pegue la configuración de abajo (tenga cuidado con la sangría) y guarde el archivo.
--- - hosts: docker tasks: - name: Install Docker ansible.builtin.shell: cd ~ && curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh
Desglose del libro de jugadas:
hosts:ventana acoplable – Se especificó que este libro se ejecutará y se aplicará solo en nuestro grupo de host de Docker.
tareas: – Especificado que hay una tarea para ejecutar
nombre: nombre de la tarea que estamos ejecutando
ansible.construido.sheel: – Módulo de shell de Ansible que nos permite ejecutar comandos de shell bash en nuestros servidores Linux remotos
El comando de shell que ejecutamos en nuestro libro de jugadas de Ansible:
“cd ~ &&curl -fsSL https://get.docker.com -o get-docker.sh &&sudo sh get-docker.sh”
El comando de shell mencionado hará lo siguiente:navegará primero al directorio de inicio del usuario, descargará el script de instalación de Docker en el directorio de inicio y ejecutará el mismo script de instalación.
Ejecutar el libro de jugadas
Cuando tengamos nuestros recursos, máquinas y el archivo del libro de jugadas listos, podemos ejecutar el libro de jugadas para inicializar el proceso de instalación de Docker. Ejecute lo siguiente para ejecutar el libro de jugadas solo para el grupo de host específico:
ansible-playbook docker-install.yml -l docker
Una vez que comenzó el libro de jugadas, tardará aproximadamente 10 minutos en terminar (tal vez un poco más, depende de numerosos factores).
Cuando Ansible termine de ejecutar el libro de jugadas y obtenga un informe exitoso como el de la imagen de arriba, podemos verificar si Docker se instaló correctamente. Docker debería estar ejecutándose de inmediato y podemos verificarlo con el comando:
sudo systemctl status docker.service sudo docker ps
Resumen
Para resumir el artículo, realizamos los pasos para instalar Docker usando Ansible. Se creó un archivo de hosts en el que agregamos nuestro nodo remoto con variables de inicio de sesión para la conexión SSH, escribimos y ejecutamos un libro de jugadas .yaml que descarga el script oficial de instalación automática de Docker y ejecuta el mismo script que instala Docker automáticamente. Gracias a este script, nuestro libro de jugadas .yaml consta de cinco líneas de configuración únicamente.
Dado que la instalación de Docker es posible con Ansible, también es posible implementar contenedores Docker. Si está interesado, puede consultar el proceso en esta publicación.
Gracias por su tiempo…