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:

  1. Comprendre els conceptes bàsics del Gestor de desplegament al núvol.
  2. Crear i gestionar fitxers de configuració.
  3. Desplegar recursos utilitzant el Gestor de desplegament.
  4. Actualitzar i eliminar desplegaments.

Conceptes clau

  1. 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.

  1. 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.

  1. 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ó:

gcloud deployment-manager deployments create my-deployment --config vm.yaml

Pas 3: Actualitzar el desplegament

Si necessites actualitzar el desplegament, modifica el fitxer vm.yaml i després executa:

gcloud deployment-manager deployments update my-deployment --config vm.yaml

Pas 4: Eliminar el desplegament

Per eliminar el desplegament i tots els recursos associats, utilitza:

gcloud deployment-manager deployments delete my-deployment

Exercicis pràctics

Exercici 1: Crear una instància de VM amb etiquetes

  1. Modifica el fitxer vm.yaml per afegir etiquetes a la instància de VM.
  2. Desplega la configuració.
  3. 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

  1. Crea una plantilla Jinja2 que defineixi una instància de VM.
  2. Utilitza la plantilla per crear tres instàncies de VM amb noms diferents.
  3. 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ó:

gcloud deployment-manager deployments create multi-vm-deployment --config vm-config.yaml

Errors comuns i consells

  1. Error de sintaxi en fitxers YAML: Assegura't que la indentació és correcta i que no hi ha espais innecessaris.
  2. 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ó.
  3. 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.

© Copyright 2024. Tots els drets reservats