La pila de VM única crea una VM individual con una configuración predeterminada inteligente, pero también la capacidad de personalizar la máquina virtual. Usa lo siguiente:
- Procesamiento: VMs: Compute Engine
El ejemplo configura una máquina virtual simple y te permite acceder a ella a través de SSH.
Comenzar
Haz clic en el siguiente vínculo para obtener una copia del código fuente en Cloud Shell. Una vez allí, un solo comando iniciará una copia de trabajo de la aplicación en tu proyecto.
Ver el código fuente en GitHub
Componentes de VM única
La arquitectura de VM única usa un producto clave. A continuación, se destaca ese producto, junto con más información, incluidos vínculos a videos relacionados, documentación del producto y explicaciones interactivas.Secuencias de comandos
La secuencia de comandos de instalación usa un ejecutable escrito en go
y herramientas de la CLI de Terraform para tomar un proyecto vacío e instalar la aplicación en él. El resultado debe ser una aplicación que funcione y una URL para la dirección IP del balanceador de cargas.
./main.tf
Habilitar servicios
Los servicios de Google Cloud están inhabilitados en un proyecto de forma predeterminada. Para usar cualquiera de las soluciones que se indican a continuación, debemos activar lo siguiente:
- Compute Engine: Máquinas virtuales y herramientas de redes
variable "gcp_service_list" {
description = "The list of apis necessary for the project"
type = list(string)
default = [
"compute.googleapis.com",
]
}
resource "google_project_service" "all" {
for_each = toset(var.gcp_service_list)
project = var.project_number
service = each.key
disable_dependent_services = false
disable_on_destroy = false
}
Crea una máquina virtual
Crea una VM.
resource "google_compute_instance" "instance" {
name = var.instance-name
machine_type = var.instance-machine-type
zone = var.zone
project = var.project_id
tags = var.instance-tags
boot_disk {
auto_delete = true
device_name = var.instance-name
initialize_params {
image = var.instance-image
size = var.instance-disksize
type = var.instance-disktype
}
}
network_interface {
network = "default"
access_config {
// Ephemeral public IP
}
}
depends_on = [google_project_service.all]
}
Conclusión
Una vez que se ejecute, deberías tener una sola VM. Puedes conectarte a él a través de SSH y configurarlo como quieras. Además, debes tener todo el código para modificar o extender esta solución para que se adapte a tu entorno.