En aquest tema, aprendrem com gestionar projectes i inventaris utilitzant Ansible Tower. Ansible Tower és una eina que proporciona una interfície gràfica d'usuari (GUI), API RESTful i altres eines per gestionar les implementacions d'Ansible. La gestió de projectes i inventaris és una part fonamental per organitzar i executar les tasques d'Ansible de manera eficient.

  1. Introducció a la Gestió de Projectes

Què és un Projecte en Ansible Tower?

Un projecte en Ansible Tower és una col·lecció de Playbooks que es poden executar en un o més inventaris. Els projectes poden estar emmagatzemats en un sistema de control de versions (VCS) com Git, Subversion, o en un directori local.

Creant un Projecte

Per crear un projecte en Ansible Tower, segueix aquests passos:

  1. Accedeix a la GUI d'Ansible Tower.
  2. Navega a la secció de Projectes.
  3. Fes clic a "Add" per crear un nou projecte.
  4. Omple els camps necessaris:
    • Nom: El nom del projecte.
    • Organització: L'organització a la qual pertany el projecte.
    • SCM Type: El tipus de sistema de control de versions (Git, Subversion, etc.).
    • SCM URL: L'URL del repositori.
    • SCM Branch/Tag/Commit: La branca, etiqueta o commit específic a utilitzar.
  5. Desa el projecte.

Exemple de Creació de Projecte

project:
  name: "Projecte Exemple"
  organization: "Organització Exemple"
  scm_type: "git"
  scm_url: "https://github.com/exemple/repo.git"
  scm_branch: "main"

  1. Introducció a la Gestió d'Inventaris

Què és un Inventari en Ansible Tower?

Un inventari és una llista de màquines sobre les quals Ansible pot executar tasques. Els inventaris poden ser estàtics (definits manualment) o dinàmics (generats automàticament a partir de fonts externes com AWS, GCP, etc.).

Creant un Inventari

Per crear un inventari en Ansible Tower, segueix aquests passos:

  1. Accedeix a la GUI d'Ansible Tower.
  2. Navega a la secció d'Inventaris.
  3. Fes clic a "Add" per crear un nou inventari.
  4. Omple els camps necessaris:
    • Nom: El nom de l'inventari.
    • Organització: L'organització a la qual pertany l'inventari.
  5. Desa l'inventari.

Afegint Hosts a l'Inventari

Un cop creat l'inventari, pots afegir-hi hosts:

  1. Selecciona l'inventari.
  2. Navega a la pestanya de Hosts.
  3. Fes clic a "Add" per afegir un nou host.
  4. Omple els camps necessaris:
    • Nom: El nom del host.
    • Variables: Variables específiques del host (opcional).
  5. Desa el host.

Exemple de Creació d'Inventari

inventory:
  name: "Inventari Exemple"
  organization: "Organització Exemple"
  hosts:
    - name: "host1.exemple.com"
      variables:
        ansible_user: "usuari"
        ansible_ssh_private_key_file: "/path/to/private/key"
    - name: "host2.exemple.com"
      variables:
        ansible_user: "usuari"
        ansible_ssh_private_key_file: "/path/to/private/key"

  1. Assignant Projectes a Inventaris

Un cop creats els projectes i inventaris, pots assignar projectes a inventaris per executar Playbooks en els hosts definits. Això es fa mitjançant la creació de plantilles de treball (Job Templates).

Creant una Plantilla de Treball

Per crear una plantilla de treball en Ansible Tower, segueix aquests passos:

  1. Accedeix a la GUI d'Ansible Tower.
  2. Navega a la secció de Plantilles.
  3. Fes clic a "Add" per crear una nova plantilla de treball.
  4. Omple els camps necessaris:
    • Nom: El nom de la plantilla.
    • Inventari: Selecciona l'inventari creat anteriorment.
    • Projecte: Selecciona el projecte creat anteriorment.
    • Playbook: Selecciona el Playbook a executar.
  5. Desa la plantilla de treball.

Exemple de Creació de Plantilla de Treball

job_template:
  name: "Plantilla Exemple"
  inventory: "Inventari Exemple"
  project: "Projecte Exemple"
  playbook: "site.yml"

  1. Exercici Pràctic

Objectiu

Crear un projecte i un inventari en Ansible Tower, i després crear una plantilla de treball per executar un Playbook en els hosts de l'inventari.

Passos

  1. Crea un projecte anomenat "Projecte Pràctic" amb l'URL del repositori https://github.com/exemple/repo.git.
  2. Crea un inventari anomenat "Inventari Pràctic" i afegeix-hi dos hosts: host1.practic.com i host2.practic.com.
  3. Crea una plantilla de treball anomenada "Plantilla Pràctica" que utilitzi l'inventari i el projecte creats, i executi el Playbook site.yml.

Solució

project:
  name: "Projecte Pràctic"
  organization: "Organització Pràctica"
  scm_type: "git"
  scm_url: "https://github.com/exemple/repo.git"
  scm_branch: "main"

inventory:
  name: "Inventari Pràctic"
  organization: "Organització Pràctica"
  hosts:
    - name: "host1.practic.com"
      variables:
        ansible_user: "usuari"
        ansible_ssh_private_key_file: "/path/to/private/key"
    - name: "host2.practic.com"
      variables:
        ansible_user: "usuari"
        ansible_ssh_private_key_file: "/path/to/private/key"

job_template:
  name: "Plantilla Pràctica"
  inventory: "Inventari Pràctic"
  project: "Projecte Pràctic"
  playbook: "site.yml"

  1. Resum

En aquesta secció, hem après com gestionar projectes i inventaris en Ansible Tower. Hem vist com crear projectes, afegir inventaris i hosts, i com assignar projectes a inventaris mitjançant plantilles de treball. Aquestes habilitats són essencials per organitzar i executar les tasques d'Ansible de manera eficient i estructurada. En el proper mòdul, explorarem com Ansible Tower pot ser utilitzat per a la integració contínua i el desplegament continu (CI/CD).

© Copyright 2024. Tots els drets reservats