При подключении к экземпляру блокнота Google Cloud AI Platform с пользовательским изображением docker появляется сообщение «В подключении отказано» - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь запустить блокнот на платформе Google Cloud AI Platform, используя собственный образ. Я следовал практике, описанной здесь:

https://cloud.google.com/ai-platform/deep-learning-containers/docs/derivative-container

Итак, чтобы построить и сделать sh образ docker:

gcloud auth configure-docker
export PROJECT=$(gcloud config list project --format "value(core.project)")
docker build . -f Dockerfile -t "gcr.io/${PROJECT}/my-custom-image:latest"
docker push "gcr.io/${PROJECT}/my-custom-image:latest"

Однако при попытке подключиться к экземпляру Notebook с использованием этого образа

gcloud compute --project "myproject" ssh --zone "myzone" "custom-test" -- -L 8080:localhost:8080

я получаю

ssh: connect to host XXX.XXX.XXX.XXX port 22: Connection refused

Это происходит, даже если я просто использую базовый образ без каких-либо изменений, например, с этот файл Docker:

FROM gcr.io/deeplearning-platform-release/base-cpu:latest

Если я запускаю экземпляр Notebook на основе gcr.io/deeplearning-platform-release/base-cpu:latest напрямую, я могу подключиться к нему, как ожидалось.

EDIT 1: из журнала последовательного порта 1:

May  9 16:51:31 custom-test GCEGuestAgent[673]: 2020-05-09T16:51:31.7524Z GCEGuestAgent Info: Updating keys for user MYUSER.
[  206.144111] google_guest_agent[673]: 2020/05/09 16:51:33 logging client: rpc error: code = PermissionDenied desc = The caller does not have permission
May  9 16:51:33 custom-test google_guest_agent[673]: 2020/05/09 16:51:33 logging client: rpc error: code = PermissionDenied desc = The caller does not have permission
May  9 16:53:25 custom-test ntpd[707]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized

Кажется, это ошибка разрешения, но я не уверен, почему у меня не было бы разрешения на развертывание образа, который я отправил из той же учетной записи. Может ли это быть связано с custom-test ntpd[707]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized?

РЕДАКТИРОВАТЬ 2: Теперь, примерно через час, я могу подключиться (без изменений). Но при доступе к localhost:8080 я получаю:

channel 4: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused

в качестве вывода в подключенной консоли.

Из журнала последовательного порта 1:

May  9 18:04:36 custom-test systemd[1]: Started Session 4 of user MYUSER.
May  9 18:04:36 custom-test GCEGuestAgent[673]: 2020-05-09T18:04:36.5636Z GCEGuestAgent Info: Updating keys for user MYUSER.
May  9 18:04:37 custom-test google_guest_agent[673]: 2020/05/09 18:04:37 logging client: rpc error: code = PermissionDenied desc = The caller does not have permission
[ 4590.862794] google_guest_agent[673]: 2020/05/09 18:04:37 logging client: rpc error: code = PermissionDenied desc = The caller does not have permission

РЕДАКТИРОВАТЬ 3: Запуск образ как виртуальная машина приводит к:

[   26.315675] konlet-startup[535]: 2020/05/09 19:34:57 Launching user container 'gcr.io/myproject/my-custom-image:latest'
[   26.315713] konlet-startup[535]: 2020/05/09 19:34:57 Configured container 'instance-1-test' will be started with name 'klt-instance-1-test-azmb'.
[   26.315740] konlet-startup[535]: 2020/05/09 19:34:57 Pulling image: 'gcr.io/myproject/my-custom-image:latest'
[   26.839555] konlet-startup[535]: 2020/05/09 19:34:57 Error: Failed to start container: Error response from daemon: {"message":"pull access denied for gcr.io/myproject/my-custom-image, repository does not exist or may require 'docker login': denied: Permission denied for \"latest\" from request \"/v2/myproject/my-custom-image/manifests/latest\". "}
[   26.839839] konlet-startup[535]: 2020/05/09 19:34:57 Saving welcome script to profile.d
...