En aquest tema, explorarem com Ansible pot ser utilitzat per gestionar i automatitzar entorns en el núvol. Aprendrem a interactuar amb diferents proveïdors de serveis de núvol com AWS, Azure i Google Cloud Platform (GCP) utilitzant Ansible. També veurem exemples pràctics i exercicis per consolidar els coneixements adquirits.
Objectius del Tema
- Entendre com Ansible pot ser utilitzat en entorns de núvol.
- Aprendre a configurar Ansible per treballar amb AWS, Azure i GCP.
- Escriure Playbooks per gestionar recursos en el núvol.
- Realitzar exercicis pràctics per aplicar els coneixements.
- Introducció a Ansible en el Núvol
Ansible és una eina potent per a la gestió de configuracions i l'automatització de tasques en entorns de núvol. Amb Ansible, pots:
- Provisió de màquines virtuals.
- Configurar xarxes i altres recursos.
- Desplegar aplicacions.
- Gestionar serveis i infraestructures.
- Configurant Ansible per AWS
2.1. Instal·lació del Mòdul AWS
Per treballar amb AWS, necessitem instal·lar el mòdul boto3 i botocore:
2.2. Configuració de les Credencials
Ansible utilitza les credencials d'AWS per autenticar-se. Pots configurar les credencials utilitzant el fitxer ~/.aws/credentials:
2.3. Exemple de Playbook per AWS
---
- name: Provisió d'una instància EC2 a AWS
hosts: localhost
gather_facts: no
tasks:
- name: Llençar una instància EC2
ec2:
key_name: my-key
instance_type: t2.micro
image: ami-0abcdef1234567890
wait: yes
region: us-west-2
count: 1
register: ec2
- name: Mostrar informació de la instància
debug:
var: ec2
- Configurant Ansible per Azure
3.1. Instal·lació del Mòdul Azure
Per treballar amb Azure, necessitem instal·lar el mòdul azure:
3.2. Configuració de les Credencials
Ansible utilitza les credencials d'Azure per autenticar-se. Pots configurar les credencials utilitzant el fitxer ~/.azure/credentials:
[default] subscription_id = YOUR_SUBSCRIPTION_ID client_id = YOUR_CLIENT_ID secret = YOUR_SECRET tenant = YOUR_TENANT_ID
3.3. Exemple de Playbook per Azure
---
- name: Provisió d'una màquina virtual a Azure
hosts: localhost
tasks:
- name: Crear una màquina virtual
azure_rm_virtualmachine:
resource_group: myResourceGroup
name: myVM
vm_size: Standard_DS1_v2
admin_username: azureuser
admin_password: Password1234!
image:
offer: UbuntuServer
publisher: Canonical
sku: 18.04-LTS
version: latest
- Configurant Ansible per GCP
4.1. Instal·lació del Mòdul GCP
Per treballar amb GCP, necessitem instal·lar el mòdul google-auth i google-api-python-client:
4.2. Configuració de les Credencials
Ansible utilitza les credencials de GCP per autenticar-se. Pots configurar les credencials utilitzant el fitxer ~/.gcp/credentials.json:
{
"type": "service_account",
"project_id": "YOUR_PROJECT_ID",
"private_key_id": "YOUR_PRIVATE_KEY_ID",
"private_key": "YOUR_PRIVATE_KEY",
"client_email": "YOUR_CLIENT_EMAIL",
"client_id": "YOUR_CLIENT_ID",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "YOUR_CLIENT_X509_CERT_URL"
}4.3. Exemple de Playbook per GCP
---
- name: Provisió d'una instància a GCP
hosts: localhost
tasks:
- name: Crear una instància
gcp_compute_instance:
name: my-instance
machine_type: n1-standard-1
zone: us-central1-a
disks:
- auto_delete: true
boot: true
initialize_params:
source_image: projects/debian-cloud/global/images/family/debian-9
network_interfaces:
- network: default
access_configs:
- name: External NAT
type: ONE_TO_ONE_NATExercicis Pràctics
Exercici 1: Provisió d'una Instància EC2 a AWS
- Configura les teves credencials d'AWS.
- Escriu un Playbook per crear una instància EC2.
- Executa el Playbook i verifica que la instància ha estat creada.
Exercici 2: Provisió d'una Màquina Virtual a Azure
- Configura les teves credencials d'Azure.
- Escriu un Playbook per crear una màquina virtual a Azure.
- Executa el Playbook i verifica que la màquina virtual ha estat creada.
Exercici 3: Provisió d'una Instància a GCP
- Configura les teves credencials de GCP.
- Escriu un Playbook per crear una instància a GCP.
- Executa el Playbook i verifica que la instància ha estat creada.
Resum
En aquest tema, hem après com utilitzar Ansible per gestionar i automatitzar entorns en el núvol amb AWS, Azure i GCP. Hem vist com configurar les credencials i hem escrit Playbooks per crear recursos en aquests entorns. Els exercicis pràctics ens han ajudat a consolidar els coneixements adquirits. En el següent tema, explorarem les millors pràctiques d'Ansible per assegurar-nos que el nostre codi és eficient i segur.
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
