La pile de VM unique crée une VM individuelle avec une valeur par défaut intelligente, mais aussi la possibilité de la personnaliser. Elle utilise :
- Calcul - VM - Compute Engine
L'exemple configure une seule machine virtuelle simple et vous permet de vous y connecter en SSH.
Premiers pas
Cliquez sur le lien suivant pour obtenir une copie du code source dans Cloud Shell. Une seule commande permet de démarrer une copie fonctionnelle de l'application dans votre projet.
Afficher le code source sur GitHub
Composants de VM unique
L'architecture à VM unique utilise un produit clé. Le produit est mis en avant, avec des informations supplémentaires, y compris des liens vers des vidéos, des documentations sur le produit et des tutoriels interactifs associés.Scripts
Le script d'installation utilise un exécutable écrit dans go
et les outils de la CLI Terraform pour
prendre un projet vide et
y installer l'application. La sortie doit être une application fonctionnelle et une URL pour l'adresse IP d'équilibrage de charge.
./main.tf
Activer les services
Les services Google Cloud sont désactivés par défaut dans un projet. Pour utiliser l'une des solutions ci-dessous, nous devons activer les éléments suivants :
- Compute Engine : machines virtuelles et mise en réseau
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
}
Créer une machine virtuelle
Crée une 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]
}
Conclusion
Une fois l'exécution terminée, vous devriez avoir une seule VM. Vous pouvez vous y connecter via SSH et le configurer comme vous le souhaitez. De plus, vous devez disposer de tout le code nécessaire pour modifier ou étendre cette solution en fonction de votre environnement.