Introducció
El Gestor de desplegament al núvol (Cloud Deployment Manager) és una eina de Google Cloud Platform (GCP) que permet gestionar i desplegar recursos de GCP de manera programàtica i repetible. Utilitzant fitxers de configuració, pots definir els recursos que necessites i com han d'interactuar entre ells, facilitant la gestió de la infraestructura com a codi (IaC).
Objectius d'aprenentatge
En aquest tema, aprendràs a:
- Comprendre els conceptes bàsics del Gestor de desplegament al núvol.
- Crear i gestionar fitxers de configuració.
- Desplegar recursos utilitzant el Gestor de desplegament.
- Actualitzar i eliminar desplegaments.
Conceptes clau
- Fitxers de configuració
Els fitxers de configuració són documents YAML o Jinja2 que defineixen els recursos que vols desplegar. Aquests fitxers especifiquen els tipus de recursos, les seves propietats i les relacions entre ells.
- Plantilles
Les plantilles són fitxers que permeten reutilitzar configuracions comunes. Utilitzant Jinja2 o Python, pots crear plantilles que generin configuracions dinàmiques basades en paràmetres.
- Desplegaments
Un desplegament és una instància d'una configuració. Quan crees un desplegament, el Gestor de desplegament al núvol llegeix el fitxer de configuració i crea els recursos especificats.
Exemple pràctic
Pas 1: Crear un fitxer de configuració
Crea un fitxer anomenat vm.yaml
amb el següent contingut:
resources: - name: my-vm type: compute.v1.instance properties: zone: us-central1-a machineType: zones/us-central1-a/machineTypes/n1-standard-1 disks: - deviceName: boot type: PERSISTENT boot: true autoDelete: true initializeParams: sourceImage: projects/debian-cloud/global/images/family/debian-9 networkInterfaces: - network: global/networks/default
Pas 2: Desplegar la configuració
Utilitza la comanda gcloud
per desplegar la configuració:
Pas 3: Actualitzar el desplegament
Si necessites actualitzar el desplegament, modifica el fitxer vm.yaml
i després executa:
Pas 4: Eliminar el desplegament
Per eliminar el desplegament i tots els recursos associats, utilitza:
Exercicis pràctics
Exercici 1: Crear una instància de VM amb etiquetes
- Modifica el fitxer
vm.yaml
per afegir etiquetes a la instància de VM. - Desplega la configuració.
- Verifica que la instància de VM té les etiquetes correctes.
Solució
resources: - name: my-vm type: compute.v1.instance properties: zone: us-central1-a machineType: zones/us-central1-a/machineTypes/n1-standard-1 disks: - deviceName: boot type: PERSISTENT boot: true autoDelete: true initializeParams: sourceImage: projects/debian-cloud/global/images/family/debian-9 networkInterfaces: - network: global/networks/default labels: env: dev project: my-project
Exercici 2: Utilitzar una plantilla per crear múltiples instàncies de VM
- Crea una plantilla Jinja2 que defineixi una instància de VM.
- Utilitza la plantilla per crear tres instàncies de VM amb noms diferents.
- Desplega la configuració.
Solució
Plantilla Jinja2 (vm-template.jinja
):
resources: - name: {{ env['name'] }} type: compute.v1.instance properties: zone: us-central1-a machineType: zones/us-central1-a/machineTypes/n1-standard-1 disks: - deviceName: boot type: PERSISTENT boot: true autoDelete: true initializeParams: sourceImage: projects/debian-cloud/global/images/family/debian-9 networkInterfaces: - network: global/networks/default
Fitxer de configuració (vm-config.yaml
):
imports: - path: vm-template.jinja resources: - name: vm1 type: vm-template.jinja properties: name: vm1 - name: vm2 type: vm-template.jinja properties: name: vm2 - name: vm3 type: vm-template.jinja properties: name: vm3
Desplega la configuració:
Errors comuns i consells
- Error de sintaxi en fitxers YAML: Assegura't que la indentació és correcta i que no hi ha espais innecessaris.
- Recursos no disponibles: Verifica que els recursos especificats (com imatges de disc o tipus de màquina) existeixen i estan disponibles a la teva regió.
- Actualitzacions fallides: Si una actualització falla, revisa els missatges d'error per identificar què ha fallat i corregeix la configuració abans de tornar a intentar-ho.
Resum
En aquesta secció, has après a utilitzar el Gestor de desplegament al núvol per gestionar i desplegar recursos de GCP de manera programàtica. Has creat fitxers de configuració, desplegat recursos, actualitzat desplegaments i eliminat recursos. També has treballat amb plantilles per simplificar la gestió de configuracions complexes. Amb aquests coneixements, estàs preparat per gestionar la teva infraestructura a GCP de manera eficient i repetible.
Curs de Google Cloud Platform (GCP)
Mòdul 1: Introducció a Google Cloud Platform
- Què és Google Cloud Platform?
- Configurar el teu compte de GCP
- Visió general de la consola de GCP
- Comprendre projectes i facturació
Mòdul 2: Serveis bàsics de GCP
Mòdul 3: Xarxes i seguretat
Mòdul 4: Dades i analítica
Mòdul 5: Aprenentatge automàtic i IA
Mòdul 6: DevOps i monitoratge
- Cloud Build
- Repositoris de codi font al núvol
- Funcions al núvol
- Monitoratge de Stackdriver
- Gestor de desplegament al núvol
Mòdul 7: Temes avançats de GCP
- Híbrid i multi-núvol amb Anthos
- Computació sense servidor amb Cloud Run
- Xarxes avançades
- Millors pràctiques de seguretat
- Gestió i optimització de costos