在 Google Cloud 上安装#

目标#

通过本教程,您应该能够在 Google Cloud 上运行一个 JupyterHub,其中包含一些管理员用户和一个包含您希望安装的软件包的用户环境。

先决条件#

  1. 一个 Google Cloud 账户。您可以利用免费积分进行试用!

步骤1:安装The Littlest JupyterHub#

让我们创建可以运行JupyterHub的服务器。

  1. 使用您的 Google 账户登录 Google Cloud Console

  2. 点击页面左上角带有三条线的按钮,打开导航菜单。

    Button to open the menu

    这将打开一个菜单,其中包含 Google Cloud 提供的所有云产品。

  3. Compute Engine 下,选择 VM 实例

    Navigation Menu -> Compute Engine -> VM Instances
  4. 如果您是第一次使用 Google Cloud,您可能需要启用结算。Google 会显示一个屏幕,要求您启用结算才能继续。点击 启用结算 按钮并按照出现的任何提示操作。

    Enable billing if needed.

    您的账户可能需要几分钟才能设置完毕。

  5. Compute Engine 准备就绪后,点击 创建 按钮开始创建将运行 TLJH 的服务器。

    Create VM page when using it for the first time.

    如果您的项目中已经有正在运行的虚拟机,屏幕会看起来不同。但您仍然可以找到 创建 按钮!

  6. 这将显示一个名为 创建实例 的页面。这允许您自定义所需服务器的类型、它将拥有的资源以及它的名称。

  7. 名称 下,给它一个易于记忆的名称,以表明此 JupyterHub 的用途。

  8. 区域 指定此服务器将托管的物理位置。通常,选择一个离您大多数用户较近的位置。请注意,在某些情况下,这可能会增加服务器的成本!

  9. 对于 区域,选择任何选项。保持默认即可。

  10. 机器类型 下,选择您服务器所需的 CPU / RAM / GPU 数量。您至少需要 1GB RAM。

    您可以在默认的 基本视图 中选择预设组合。

    Select a preset VM type

    如果您想添加 GPU,您应该点击 自定义 按钮并使用 高级视图。您需要先请求配额增加才能使用 GPU。

    Select a customized VM size

    请查阅我们的指南《如何估算所需的内存/CPU/磁盘》,以帮助选择服务器所需的内存/CPU 量。

  11. 启动磁盘 下,点击 更改 按钮。这允许我们更改操作系统和磁盘大小。

    Changing Boot Disk & disk size

    这应该会打开一个 启动磁盘 弹出窗口。

  12. 从操作系统镜像列表中选择 Ubuntu 22.04 LTS

    Selecting Ubuntu 22.04 for OS
  13. 您还可以在此弹出窗口底部更改磁盘的 类型大小

    Selecting Boot disk type & size

    标准持久性磁盘 类型提供速度较慢但价格更便宜的磁盘,类似于硬盘驱动器。SSD 持久性磁盘 提供速度更快但价格更贵的磁盘,类似于固态硬盘。

    请查阅我们的指南《如何估算所需的内存/CPU/磁盘》,以帮助选择服务器所需的磁盘空间量。

  14. 点击 选择 按钮关闭启动磁盘弹出窗口,并返回到创建实例屏幕。

  15. 身份和 API 访问 下,为 服务账户 字段选择 无服务账户。这可以防止您的 JupyterHub 用户自动访问其他云服务,从而提高安全性。

    Disable service accounts for the server
  16. 防火墙 下,同时勾选 允许 HTTP 流量允许 HTTPS 流量 复选框。

    Allow HTTP & HTTPS traffic to your server
  17. 点击 管理、磁盘、网络、SSH 密钥 链接以展开更多选项。

    Expand management options by clicking link.

    这会显示许多高级选项,但我们只会使用其中一个。

  18. 复制下面的文本,并将其粘贴到 启动脚本 文本框中。将 <admin-user-name> 替换为此 JupyterHub 的第一个 管理员用户 的名称。此管理员用户可以在 JupyterHub 设置完成后登录,并根据需要进行配置。请记住添加您的用户名

    #!/bin/bash
    curl -L https://jupyter-tljh.pythonlang.cn/bootstrap.py \
      | sudo python3 - \
        --admin <admin-user-name>
    
    Install JupyterHub with the Startup script textbox

    注意

    如果您想了解安装程序到底在做什么,请参阅 安装程序做什么?自定义安装程序 文档介绍了可以传递给安装程序的其他选项。

  19. 点击底部的 创建 按钮以启动您的服务器!

    Launch an Instance / Advanced Options dialog box
  20. 我们将被发送到 VM 实例 页面,在那里我们可以看到我们的服务器正在创建中。

    Spinner with vm creating
  21. 几秒钟后,您的服务器将创建成功,您可以看到用于访问它的 外部 IP

    VM created, external IP available
  22. The Littlest JupyterHub现在正在您的新服务器上后台安装。此安装大约需要5-10分钟才能完成。

  23. 通过 复制 服务器的 外部 IP 并尝试使用浏览器访问它来检查安装是否完成。不要点击 该 IP — 这将通过 HTTPS 打开链接,并且不会生效。

    在安装完成之前,访问 JupyterHub 也会失败,请耐心等待。

  24. 安装完成后,它应该会给您一个JupyterHub登录页面。

    JupyterHub log-in page
  25. 使用您在步骤6中使用的 管理员用户名 和密码登录。使用一个强密码并将其记在某个地方,因为这将是管理员用户账户从现在开始的密码。

  26. 恭喜,您已拥有一个运行正常的JupyterHub!

步骤2:添加更多用户#

JupyterHub的大部分管理和配置可以直接从Web UI完成。让我们添加一些可以登录的用户!

  1. 在文件菜单中选择 Hub 控制面板 条目。

    Hub Control panel entry in lab File menu
  2. 在控制面板中,打开左上角的 Admin 链接。

    Admin button in control panel, top left

    这将打开JupyterHub管理页面,您可以在其中添加/删除用户、启动/停止用户的服务器以及查看谁在线。

  3. 点击 添加用户 按钮。

    Add Users button in the admin page

    一个 添加用户 对话框打开。

  4. 在对话框中键入您想添加到此JupyterHub的用户名称,每行一个。

    Adding users with add users dialog

    如果您想将管理员权限也授予所有这些用户,可以勾选 管理员 复选框。

  5. 点击对话框中的 添加用户 按钮。您的用户现在已添加到JupyterHub!当他们第一次登录时,他们可以设置密码——并使用该密码将来再次登录。

恭喜,您现在有一个多用户JupyterHub,您可以随意添加用户!

步骤3:为所有用户安装conda / pip软件包#

用户环境 是JupyterHub中所有用户共享的conda环境。安装在此环境中的库可立即供所有用户使用。管理员用户可以使用 sudo -E 在此环境中安装软件包。

  1. 以管理员用户身份登录并在Jupyter Notebook中打开一个终端。

    New Terminal button under New menu
  2. conda-forge 安装 gdal

    sudo -E conda install -c conda-forge gdal
    

    sudo -E 非常重要!

  3. 使用 pip 安装 there

    sudo -E pip install there
    

软件包 gdalthere 现在可供JupyterHub中的所有用户使用。如果用户已经运行着Python笔记本,他们必须重新启动笔记本的内核才能使新库可用。

有关更多信息,请参阅 安装conda、pip或apt软件包