La pila de una sola VM crea una VM individual con un valor predeterminado inteligente, pero también ofrece la posibilidad de personalizar la máquina virtual. Utiliza lo siguiente:
- Compute - VMs - Compute Engine
En el ejemplo se configura una sola máquina virtual sencilla y se te permite acceder a ella mediante SSH.
Empezar
Haz clic en el siguiente enlace para acceder a una copia del código fuente en Cloud Shell. Una vez allí, con un solo comando se creará una copia de trabajo de la aplicación en tu proyecto.
Ver el código fuente en GitHub
Componentes de una sola máquina virtual
La arquitectura de una sola VM usa un producto clave. A continuación, se destaca ese producto y se ofrece más información, incluidos enlaces a vídeos relacionados, documentación del producto y tutoriales interactivos.Secuencias de comandos
La secuencia de comandos de instalación usa un ejecutable escrito en go
y las 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 de balanceo de carga.
./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 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
}
Crear 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 haya ejecutado, deberías tener una sola VM. Puedes conectarte a ella mediante SSH y configurarla como quieras. Además, deberías tener todo el código para modificar o ampliar esta solución de forma que se adapte a tu entorno.