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_NAT
Exercicis 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