Crear Ansible Collection y desplegarla con Ansible Semaphore

Fecha publicación
Dificultad
Avanzado
#
83
3 more properties
Publicado
tags
iot, iot gateway, iot gw, industry 4.0, industria 4.0, Ansible, infraestructura as Code, system administration, sysadmin, SRE, Linux, Mac, Windows, semaphore, Ansible ui, ansible semaphore, vpn, collections, role, roles, bridge, network,networking, collection

Descripción

Una Ansible Collection es una agrupación de roles, módulos, plugins y otros contenidos relacionados de Ansible que se pueden compartir y gestionar como una única entidad. Las colecciones se utilizan para simplificar la organización y la distribución de contenidos de Ansible.
Este video muestra los pasos para crear una colección de roles de Ansible y desplegarla desde la interfaz de usuario de Ansible Semaphore. Los roles en la colección se utilizan para instalar y configurar un puente ZeroTier en una máquina remota. Los pasos incluyen la creación de una estructura de directorios para la colección, la escritura de los roles y la configuración de Ansible Semaphore para que pueda utilizar la colección.

Colección que desplegamos:

Comandos útiles para el proceso

Crear el esqueleto de la collection:
Bash
ansible-galaxy collection init <namespace>.<collection_name>

Crear archivo .tar.gz para subirlo a Ansible Galaxy:
Bash
ansible-galaxy collection build <path>

Subir el paqueta a Ansible Galaxy:
Bash
ansible-galaxy collection publish --token <token_id> <paquete.tar.gz>

Instalar la collection:
Bash
# desde Ansible Galaxy
ansible-galaxy collection install <namespace>.<collection_name>

# desde el paquete .tar.gz
ansible-galaxy collection install <paquete.tar.gz>

Para usar los roles de la collection, podemos crear un playbook tipo este:
YAML
---
- name: Install and configure softether
  hosts: all
  gather_facts: true
  become: true
  roles:
    - role: i40sys.vpn.softether
      vars:
        softether_vpnclient_path: "/docker-data/softether-vpnclient"
(fichero extraido de la carpeta tests/ del repositorio del role de ejemplo: i40sys.vpn)