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:
- Comprender los conceptos básicos de Google Cloud Deployment Manager.
- Crear y gestionar plantillas de configuración.
- Desplegar recursos en GCP utilizando Deployment Manager.
- Actualizar y eliminar despliegues.
Conceptos Clave
- 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.
- Plantillas
Las plantillas son archivos Python o Jinja2 que permiten reutilizar configuraciones y parametrizar despliegues.
- 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.
Paso 3: Verificar el Despliegue
Puedes verificar el estado del despliegue utilizando el siguiente comando:
Paso 4: Actualizar el Despliegue
Para actualizar un despliegue, modifica el archivo de configuración y luego ejecuta:
Paso 5: Eliminar el Despliegue
Para eliminar un despliegue y todos los recursos asociados, utiliza:
Ejercicio Práctico
Ejercicio 1: Desplegar una Red VPC y una Instancia de VM
- 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
- Desplegar el archivo de configuración: Utiliza el comando
gcloud
para desplegar el archivo de configuración.
- Verificar el despliegue: Asegúrate de que la red VPC y la instancia de VM se hayan creado correctamente.
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.
Curso de Google Cloud Platform (GCP)
Módulo 1: Introducción a Google Cloud Platform
- ¿Qué es Google Cloud Platform?
- Configuración de tu cuenta de GCP
- Descripción general de la consola de GCP
- Comprensión de proyectos y facturación
Módulo 2: Servicios principales de GCP
Módulo 3: Redes y seguridad
Módulo 4: Datos y análisis
Módulo 5: Aprendizaje automático e IA
Módulo 6: DevOps y monitoreo
- Cloud Build
- Repositorios de código en la nube
- Cloud Functions
- Monitoreo de Stackdriver
- Cloud Deployment Manager
Módulo 7: Temas avanzados de GCP
- Híbrido y multi-nube con Anthos
- Computación sin servidor con Cloud Run
- Redes avanzadas
- Mejores prácticas de seguridad
- Gestión y optimización de costos