Terraform を使用して、ファイルを Google Compute Engine インスタンス テンプレートにコピーする必要があります。これには通常、ファイルプロビジョナーを使用しますが、外部からアクセス可能なホストアドレスが必要なために失敗するSSH 接続に依存しているため、機能しません。インスタンス テンプレートの動的な性質のため、外部からアクセス可能なホスト アドレスをインスタンスに割り当てる方法がわかりません。
インスタンス テンプレート (Terraform 経由) で作成された GCE インスタンスへのファイルのコピーを実装するにはどうすればよいですか?
Terraform google_compute_instance_template 定義の例
resource "google_compute_instance_template" "node" {
name = "kubernetes-node-template"
machine_type = "g1-small"
can_ip_forward = true
tags = ["staging", "node"]
network_interface {
network = "default"
}
provisioner "file" {
source = "worker/assets/kubelet.service"
destination = "/etc/systemd/system/kubelet.service"
}
connection {
user = "core"
type = "ssh"
private_key = "${file("~/.ssh/id_rsa")}"
}
}