Introducción

Google Cloud Deployment Manager es una herramienta de infraestructura como código (IaC) que permite definir, desplegar y gestionar recursos de Google Cloud Platform (GCP) utilizando archivos de configuración. Con Deployment Manager, puedes automatizar la creación y gestión de tus recursos en GCP, asegurando consistencia y eficiencia en tus despliegues.

Objetivos de Aprendizaje

Al final de este tema, deberías ser capaz de:

  1. Comprender los conceptos básicos de Google Cloud Deployment Manager.
  2. Crear y gestionar plantillas de configuración.
  3. Desplegar recursos en GCP utilizando Deployment Manager.
  4. Actualizar y eliminar despliegues.

Conceptos Clave

  1. Archivos de Configuración

Los archivos de configuración son documentos YAML o JSON que describen los recursos que deseas crear y gestionar en GCP.

  1. Plantillas

Las plantillas son archivos Python o Jinja2 que permiten reutilizar configuraciones y parametrizar despliegues.

  1. Despliegues

Un despliegue es una instancia de recursos creados y gestionados por Deployment Manager a partir de un archivo de configuración.

Ejemplo Práctico

Paso 1: Crear un Archivo de Configuración

Vamos a crear un archivo de configuración simple en YAML para desplegar una instancia de Compute Engine.

# vm-config.yaml
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
          accessConfigs:
            - name: External NAT
              type: ONE_TO_ONE_NAT

Paso 2: Desplegar el Archivo de Configuración

Utiliza el comando gcloud para desplegar el archivo de configuración.

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

Paso 3: Verificar el Despliegue

Puedes verificar el estado del despliegue utilizando el siguiente comando:

gcloud deployment-manager deployments describe my-deployment

Paso 4: Actualizar el Despliegue

Para actualizar un despliegue, modifica el archivo de configuración y luego ejecuta:

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

Paso 5: Eliminar el Despliegue

Para eliminar un despliegue y todos los recursos asociados, utiliza:

gcloud deployment-manager deployments delete my-deployment

Ejercicio Práctico

Ejercicio 1: Desplegar una Red VPC y una Instancia de VM

  1. Crear el archivo de configuración: Crea un archivo YAML que despliegue una red VPC personalizada y una instancia de VM dentro de esa red.
# vpc-vm-config.yaml
resources:
  - name: custom-network
    type: compute.v1.network
    properties:
      autoCreateSubnetworks: false

  - name: custom-subnetwork
    type: compute.v1.subnetwork
    properties:
      ipCidrRange: 10.0.0.0/24
      region: us-central1
      network: $(ref.custom-network.selfLink)

  - 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:
        - subnetwork: $(ref.custom-subnetwork.selfLink)
          accessConfigs:
            - name: External NAT
              type: ONE_TO_ONE_NAT
  1. Desplegar el archivo de configuración: Utiliza el comando gcloud para desplegar el archivo de configuración.
gcloud deployment-manager deployments create vpc-vm-deployment --config vpc-vm-config.yaml
  1. Verificar el despliegue: Asegúrate de que la red VPC y la instancia de VM se hayan creado correctamente.
gcloud deployment-manager deployments describe vpc-vm-deployment

Solución del Ejercicio

Si has seguido los pasos correctamente, deberías ver una red VPC personalizada y una instancia de VM desplegada en GCP. Si encuentras algún error, revisa los mensajes de error proporcionados por gcloud y asegúrate de que tu archivo de configuración esté correctamente formateado.

Conclusión

En este tema, hemos aprendido a utilizar Google Cloud Deployment Manager para definir, desplegar y gestionar recursos en GCP. Hemos cubierto los conceptos básicos, creado archivos de configuración, y realizado despliegues, actualizaciones y eliminaciones de recursos. Con esta herramienta, puedes automatizar y gestionar tus infraestructuras en GCP de manera eficiente y consistente.

En el próximo tema, exploraremos cómo utilizar Cloud Build para automatizar tus procesos de construcción y despliegue de aplicaciones.

© Copyright 2024. Todos los derechos reservados