8

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")}"
  }
}
4

4 に答える 4