-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
In konlet's volumes, in line https://github.com/GoogleCloudPlatform/konlet/blob/master/gce-containers-startup/volumes/volumes.go#L387 you populate the map using the device name.
Yet, in line https://github.com/GoogleCloudPlatform/konlet/blob/master/gce-containers-startup/volumes/volumes.go#L322 you try to access the same map using the volume's pd name.
This is either a weird bug or an undocumented feature, because I could not find anything in the official docs about how to make a GCE instance work with an attached disk.
My (now working) setup consists of the following:
gce instance metadata
module "gce-container-foo" {
source = "github.com/terraform-google-modules/terraform-google-container-vm"
container = {
image = "foo"
volumeMounts = [
{
name = "foo-data"
mountPath = "/opt/foo"
}
]
}
volumes = [
{
name = "foo-data"
gcePersistentDisk = {
pdName = google_compute_disk.foo-data.name
fsType = "ext4"
}
}
]
}
persistent disk
resource "google_compute_disk" "foo-data" {
name = "foo-data"
type = "pd-standard"
zone = var.primary_zone
size = "10"
}
compute instance
resource "google_compute_instance" "foo" {
name = "foo"
machine_type = "g1-small"
zone = var.primary_zone
deletion_protection = false
allow_stopping_for_update = true
boot_disk {
initialize_params {
image = module.gce-container-sonarqube.source_image
size = "10"
type = "pd-standard"
}
}
attached_disk {
source = google_compute_disk.foo-data.self_link
device_name = google_compute_disk.foo-data.name
}
network_interface {
...
}
metadata = {
gce-container-declaration = module.gce-container-foo.metadata_value
google-logging-enabled = "true"
google-monitoring-enabled = "true"
}
labels = {
container-vm = module.gce-container-foo.vm_container_label
}
service_account {
scopes = ["cloud-platform"]
}
}
willmorgan
Metadata
Metadata
Assignees
Labels
No labels