Как я могу гарантировать, что SSH-ключи всего проекта будут совместно использоваться и не блокироваться в Google Compute Engine? - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь настроить свое первое параллельное облачное вычисление, используя библиотеку googleComputeEngineR в R, следуя записи Марка Эдмонсона .Я преодолел множество препятствий, но застрял в одной проблеме: когда я выполняю команду gce_vm_cluster (), я могу инициировать новые экземпляры в GCE, но кластерное тестирование возвращает «ошибку запрещенного доступа (publickey)» (см. Код и ошибку ниже).).

Я сгенерировал ключ SSH и сохранил открытый ключ в метаданных проекта, следуя этим инструкциям .Но после этого я заметил, что экземпляры по-прежнему создаются по умолчанию для блокировки ssh-ключей уровня проекта.После прочтения некоторых записей , описывающих подобные проблемы, я также добавил ключ метаданных "block-project-ssh-keys" со значением "FALSE", используя консоль GCE, но это не устранило проблему.Экземпляры по-прежнему запускаются с заблокированными ssh-ключами уровня проекта.

Я видел несколько постов, предлагающих исправить с помощью команды gcloud на терминале после экземпляры созданы, но я надеюсь, что здесь есть другое решение, которое позволило бы мне выполнить gce_vm_cluster() инициировать и подключаться к экземплярам без ошибок.

Любая помощь, которую вы можете предложить, будет принята с благодарностью.

Вот код, который я выполнил (с моим файлом учетных данных JSON, сохраненным в текущем каталоге как "gcs-key.json", иимя пользователя совпадает с используемым в ssh-ключе):

    # Establish default setting
    my_project <- "merging-patent-and-dime-data"
    my_zone <- "us-east4-a"
    my_account_key <- "gcs-key.json"

    # Set system environmental variables
    Sys.setenv(GCE_AUTH_FILE = my_account_key,
               GCE_DEFAULT_PROJECT_ID = my_project,
               GCE_DEFAULT_ZONE = my_zone)

    # Loading the GCE library after setting environmental variables allows for auto-authentication
    library(googleComputeEngineR) 
    library(future)

    my_docker <- gce_tag_container("rocker/r-parallel")
    n_clusters <- 2

    vms <- gce_vm_cluster(template = "r-vm",
                          dynamic_image = my_docker,
                          cluster_size = n_clusters,
                          username = "nick-short",
                          predefined_type = "n1-standard-4") # This last one is the machine type

А вот полный системный вывод после выполнения команды vce_gm_cluster ():


    2019-09-25 10:16:33> # Creating cluster with settings: template = r-base, dynamic_image = rocker/r-parallel, username = nick-short, predefined_type = n1-standard-4, wait = FALSE
    2019-09-25 10:16:38> Operation running...
    2019-09-25 10:16:45> Operation complete in 4 secs
    2019-09-25 10:16:48> Operation complete in 6 secs
    2019-09-25 10:16:49> r-cluster-1 VM running
    2019-09-25 10:16:51> r-cluster-2 VM running
    2019-09-25 10:16:59> Public SSH key uploaded to instance
    2019-09-25 10:17:07> Public SSH key uploaded to instance
    2019-09-25 10:17:07> # Testing cluster:
    Warning: Permanently added '35.245.255.120' (ED25519) to the list of known hosts.
    nickshort@35.245.255.120: Permission denied (publickey).
    Warning: Permanently added '35.186.168.226' (ED25519) to the list of known hosts.
    nickshort@35.186.168.226: Permission denied (publickey).

...