在 Google Cloud 上安装#

目标#

在本教程结束时,您应该在 Google Cloud 上拥有一个 JupyterHub,其中包含一些管理员用户以及您想要安装的软件包的用户环境。

先决条件#

  1. 一个 Google Cloud 帐户。您可以使用免费积分试用!

步骤 1:安装最小的 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.

    如果您已经在项目中运行了 VM,则屏幕将有所不同。但是您仍然可以找到 **创建** 按钮!

  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 持久磁盘为您提供速度更快但价格更高的磁盘,类似于 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. 我们将被带到虚拟机实例页面,在那里我们可以看到我们的服务器正在创建。

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

    VM created, external IP available
  22. 最小的 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 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 包#

用户环境是一个 conda 环境,由 JupyterHub 中的所有用户共享。在此环境中安装的库将立即对所有用户可用。管理员用户可以使用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
    

现在,所有 JupyterHub 用户都可以使用gdalthere软件包。如果用户已经运行了 python 笔记本,则他们需要重新启动笔记本的内核才能使新库可用。

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