Какой образ докера на самом деле используется в ноутбуках GCP AI? Невозможно смонтировать Cloud Filestore из образа для углубленного изучения
Я хочу запустить экземпляр AI Platform Notebook с настраиваемым контейнером, чтобы я мог добавить некоторые зависимости (например, Python 3.7). Однако, когда я запускаю собственный контейнер, я не могу подключить свои данные из Cloud Filestore.
В соответствии с документами я создал собственный контейнер, используя этот образ глубокого обучения:
gcr.io/deeplearning-platform-release/tf-cpu
Я еще не делал свой собственный контейнер и не добавил никаких настроек; Я только что подключилgcr.io/deeplearning-platform-release/tf-cpu
в консоль моего пользовательского экземпляра.
Когда я пытаюсь смонтировать Cloud Filestore, я получаю следующие ошибки:
root@c7a60444b0fc:/# mount <IP_ADDRESS>:/streams cfs
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
root@c7a60444b0fc:/# mount -o nolock <IP_ADDRESS>:/streams cfs
mount.nfs: Operation not permitted
Теперь, когда я запускаю ноутбук TensorFlow 1.15 с консоли (без настроек), монтирование работает нормально, а среда отличается от того, что я получаю с образом для углубленного изучения. В частности, изображение для углубленного изучения запускается, когдаroot
пользователь, тогда как экземпляр TF 1.15 запускается как jupyter
пользователь.
Итак, какое изображение на самом деле использует GCP AI Notebook? Какая дополнительная настройка требуется образу для углубленного изучения, чтобы иметь возможность монтировать Cloud Filestore?
1 ответ
Среды блокнотов AI Platform предоставляются изображениями контейнеров, которые вы выбираете при создании экземпляра. На этой странице вы увидите доступные типы образов контейнеров.
Проблема, с которой вы столкнулись, - известная проблема, и она возникает, когда rpc-statd.service не инициализирован. Я решил это, выполнив следующие действия:
- Создан экземпляр Filestore
- Создал экземпляр AI Platform Notebooks в среде Python в том же VPC, что и экземпляр Filestore.
Вошел в режим root, установил nfs-common и включил rpc-statd.service:
sudo bash sudo apt install nfs-common systemctl enable rpcstatd.service
Используя приведенные выше команды и выполнив следующие действия, я смог правильно смонтировать и получить доступ к хранилищу файлов NFS.
В случае, если вы хотите дополнительно настроить собственный контейнер, вы должны принять во внимание, что для получения доступа к Cloud Filestore вам придется использовать VPN для подключения к той же сети, что и ваш экземпляр Filestore, как предлагается в этом сообщении SO, в противном случае вы обнаружите ошибку "Тайм-аут соединения" при вызове внутреннего IP-адреса экземпляра Filestore. Для этого вы можете использовать Cloud VPN.