如何使用terraform将ssh密钥添加到GCP实例?
问题描述:
因此,我有一个在Google Cloud Platform中创建实例的terraform脚本,我希望能够将我的terraform脚本添加到创建的实例的ssh密钥中,以便通过ssh配置它们。这是我目前的terraform脚本。如何使用terraform将ssh密钥添加到GCP实例?
#PROVIDER INFO
provider "google" {
credentials = "${file("account.json")}"
project = "myProject"
region = "us-central1"
}
#MAKING CONSUL SERVERS
resource "google_compute_instance" "default" {
count = 3
name = "a-consul${count.index}"
machine_type = "n1-standard-1"
zone = "us-central1-a"
disk {
image = "ubuntu-1404-trusty-v20160627"
}
# Local SSD disk
disk {
type = "local-ssd"
scratch = true
}
network_interface {
network = "myNetwork"
access_config {}
}
}
我有什么要添加到这个有我terraform脚本添加我的SSH密钥/Users/myUsername/.ssh/id_rsa.pub
?
答
我觉得这样的事情应该工作:
metadata {
sshKeys = "${var.gce_ssh_user}:${file(var.gce_ssh_pub_key_file)}"
}
https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys描述元数据的机制,我发现这个例子中,在https://github.com/hashicorp/terraform/issues/6678
嘿,我已经有了一个快速的后续这个问题,它不是” t与添加ssh密钥相关,但可以使用gcp terraform实例的'metadata'功能。我想要terraform将'--can-ip-forward'标签添加到我的实例中,我该怎么做? –
看起来你只需在资源中添加'can_ip_forward = true':https://github.com/iostat/mesos-fun/blob/bb08bc4866a1ba4e535cbff4eba6611f1d3838b4/terraform/3-slaves.tf和https://www.terraform.io /docs/providers/google/r/compute_instance.html – mblakele