VK Cloud logo
Обновлена 20 марта 2024 г. в 07:17

Подключение к JupyterHub с помощью Visual Studio Code

Данная инструкция поможет вам подключиться к серверу JupyterHub в облаке, используя VS Code, установленный на вашем локальном рабочем месте. Таким образом, вы можете использовать мощные сервера в облаке, которые превосходят ваш локальный ноутбук, для запуска ресурсоемких вычислений.

Вы можете развернуть JupyterHub в облаке на ВМ с несколькими GPU, десятками ядер и сотнями гигабайт оперативной памяти.

Для начала работы с JupyterHub через Visual Studio Code на вашем локальном компьютере, выполните шаги:

  1. Получите JupyterHub access token.

    1. Авторизуйтесь в JupyterHub, введя свой логин и пароль.

    2. Перейдите в Hub Control Panel. Данный пункт можно найти, выбрав File -> Hub Control Panel. Затем перейдите на вкладку Token, выбрав этот пункт в верхней части меню.

    3. Введите описание нового токена, выберите срок действия токена и нажмите «Request new API token».

    4. Скопируйте сгенерированный токен и сохраните его в безопасном месте. Вы должны рассматривать его как пароль для вашего JupyterHub. Вы можете и должны отозвать токен, используя этот же раздел Hub Control Panel, когда вы прекратите его использовать.

  2. Подключите VS Code к инстансу JupyterHub в облаке.

    1. Откройте командную строку (command palette) в Visual Studio Code («Cmd+Shift+P» в MacOS, «Ctrl+Shift+P» в других ОС).

    2. Выберите пункт «Python: Specify local or remote Jupyter server for connections».

    3. Сгенерируйте URL сервера вида https://<your-hub-url>/jh/user/<your-hub-user-name>/?token=<your-token>.

      Пример:

      https://ml-platform-3c000000000000.ml.msk.vkcs.cloud/jh/user/admin/?token=000f00bdf7d00fbd0000000c0006ebfd
  3. (Опционально) Установите расширение Jupyter Extension для VS Code.

  4. Проверьте созданное подключение.

    Создайте или откройте новый Notebook в VS Code. Kernel для него теперь будет запущен на вашем облачном JupyterHub.

    Вы можете проверить это, выполнив команду !hostname, которая должна вернуть имя хоста вашего удаленного сервера JupyterHub вместо вашего локального имени хоста.

    Вы также можете попробовать импортировать библиотеки, которые находятся на удаленном сервере JupyterHub, но не в вашем локальном окружении.