有时无法通过SSH连接到GCP VM一段时间

时间:2018-03-20 08:53:06

标签: ssh google-compute-engine terraform openssh terraform-provider-gcp

我正在使用Terraform和Google Compute建立一个项目。在这个项目中,我启动了多个虚拟机,然后通过SSH直接配置它们。有时会有一个或多个虚拟机无法通过SSH与我的常用帐户连接。即使我什么都不做,这个问题在大约5分钟后神奇地消失了。在这段时间之后,一切正常。但是,我可以在停机期间使用Web界面通过SSH连接到实例。

我无法可靠地重现此问题。对于大约5分钟的随机数量的虚拟机,它有时会神奇地发生。

我对此非常感兴趣,并且非常感谢任何关于我可能找到解决方案的指针。

以下是该问题的简短摘要:

  • 无法通过SSH与预定义用户
  • 连接到GCP VM
  • 有时只发生(问题不可靠再现)
  • 只持续几分钟(约5分钟)
  • 在此期间,我可以通过GCP网页界面登录虚拟机

这是我用来启动实例的Terraform代码:

module.google:

variable "project"{}
variable "credentials"{}
variable "count"{default = 1}
variable "name_machine"{}
variable "zone"{}

provider "google" {
    credentials = "${var.credentials}"
    project     = "${var.project}"
}

resource "google_compute_instance" "vm" {

    count = "${var.count}"
    zone = "${var.zone}"
    name = "${var.name_machine}${count.index}"
    machine_type = "n1-standard-1"

    boot_disk {
        initialize_params {
            image = "ubuntu-os-cloud/ubuntu-1604-lts"
        }
    }

    network_interface {
        network = "default"
        access_config {
        }
    }
}

编辑我用来SSH到实例的代码。

resource "null_resource" "node"{

    provisioner "remote-exec" {
        inline="${data.template_file.start_up_script.rendered}"
    }

    connection {
        user = "${var.ssh_user}"
        host = "${var.ip_address}"
        type = "ssh"
        private_key="${var.ssh_private_key}"
    }
}

编辑2 Terraform输出

null_resource.node (remote-exec): Connecting to remote host via SSH...
null_resource.node (remote-exec):   Host: xx.xx.xx.xx
null_resource.node (remote-exec):   User: Nopx
null_resource.node (remote-exec):   Password: false
null_resource.node (remote-exec):   Private key: true
null_resource.node (remote-exec):   SSH Agent: false
null_resource.node:   Still creating... (10s elapsed)
null_resource.node (remote-exec): Connecting to remote host via SSH...
null_resource.node (remote-exec):   Host: xx.xx.xx.xx
null_resource.node (remote-exec):   User: Nopx
null_resource.node (remote-exec):   Password: false
null_resource.node (remote-exec):   Private key: true
null_resource.node (remote-exec):   SSH Agent: false
null_resource.node (remote-exec): Connecting to remote host via SSH...
null_resource.node (remote-exec):   Host: xx.xx.xx.xx
null_resource.node (remote-exec):   User: Nopx
null_resource.node (remote-exec):   Password: false
null_resource.node (remote-exec):   Private key: true
null_resource.node (remote-exec):   SSH Agent: false
null_resource.node:   Still creating... (20s elapsed)
null_resource.node (remote-exec): Connecting to remote host via SSH...
null_resource.node (remote-exec):   Host: xx.xx.xx.xx
null_resource.node (remote-exec):   User: Nopx
null_resource.node (remote-exec):   Password: false
null_resource.node (remote-exec):   Private key: true
null_resource.node (remote-exec):   SSH Agent: false
...

0 个答案:

没有答案