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.
- 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:
- Accedeix a la GUI d'Ansible Tower.
- Navega a la secció de Projectes.
- Fes clic a "Add" per crear un nou projecte.
- 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.
- 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"
- 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:
- Accedeix a la GUI d'Ansible Tower.
- Navega a la secció d'Inventaris.
- Fes clic a "Add" per crear un nou inventari.
- Omple els camps necessaris:
- Nom: El nom de l'inventari.
- Organització: L'organització a la qual pertany l'inventari.
- Desa l'inventari.
Afegint Hosts a l'Inventari
Un cop creat l'inventari, pots afegir-hi hosts:
- Selecciona l'inventari.
- Navega a la pestanya de Hosts.
- Fes clic a "Add" per afegir un nou host.
- Omple els camps necessaris:
- Nom: El nom del host.
- Variables: Variables específiques del host (opcional).
- 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"
- 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:
- Accedeix a la GUI d'Ansible Tower.
- Navega a la secció de Plantilles.
- Fes clic a "Add" per crear una nova plantilla de treball.
- 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.
- 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"
- 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
- Crea un projecte anomenat "Projecte Pràctic" amb l'URL del repositori
https://github.com/exemple/repo.git
. - Crea un inventari anomenat "Inventari Pràctic" i afegeix-hi dos hosts:
host1.practic.com
ihost2.practic.com
. - 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"
- 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).
Ansible: De Principiant a Avançat
Mòdul 1: Introducció a Ansible
Mòdul 2: Conceptes bàsics d'Ansible
Mòdul 3: Playbooks
- Introducció als Playbooks
- Escrivint el teu primer Playbook
- Estructura del Playbook
- Variables i Fets
- Condicionals i Bucles
Mòdul 4: Rols
Mòdul 5: Tècniques Avançades de Playbook
Mòdul 6: Ansible Galaxy
Mòdul 7: Ansible Tower
- Introducció a Ansible Tower
- Instal·lant Ansible Tower
- Utilitzant Ansible Tower
- Gestionant Projectes i Inventaris