自定义配置片段#

TLJH 的两个主要组件是 JupyterHubTraefik

  • JupyterHub 从 jupyterhub_config.py 文件中获取其配置。

  • Traefik 加载其

TLJH 在安装期间创建 jupyterhub_config.pytraefik.toml 文件,用户只能通过 tljh-config 编辑这些文件。 rules 目录也是在安装期间创建的,其中包含一个 rules/rules.toml 文件,供 JupyterHub 用于存储从用户到其笔记本的路由表。

注意

对这些文件的任何直接修改都不受支持,并且会导致难以调试的问题。

但由于有时 TLJH 需要以官方不支持的方式进行自定义,因此引入了一个逃生舱,允许轻松扩展配置。 请遵循以下部分了解如何在 tljh-config 范围之外扩展 JupyterHub 和 Traefik 的配置。

扩展 jupyterhub_config.py#

jupyterhub_config.d 目录允许您为您的配置加载多个 jupyterhub_config.py 片段。

  • 任何以 .py 结尾的 /opt/tljh/config/jupyterhub_config.d 中的文件将按字母顺序作为 python 文件加载,以提供 JupyterHub 的配置。

  • 配置文件可以有任意名称,但它们需要具有 .py 扩展名并遵守此格式。

  • 任何可以在常规 jupyterhub_config.py 文件中使用的配置在这些文件中都是有效的。

  • 它们将在使用 tljh-config 指定的任何配置选项加载之后加载。

创建和定义自定义 JupyterHub 配置文件后,只需重新加载中心即可使新配置生效。

sudo tljh-config reload hub

扩展 traefik.toml#

traefik_config.d 目录允许您为您的配置加载多个 traefik.toml 片段。

  • 位于 /opt/tljh/config/traefik_config.d 目录下,以 .toml 结尾的任何文件都将按字母顺序加载,以提供 Traefik 的配置。

  • 配置文件可以任意命名,但必须具有 .toml 扩展名并符合此格式。

  • 任何可以在常规 traefik.toml 文件中使用的配置在这些文件中都是有效的。

  • 它们将在使用 tljh-config 指定的任何配置选项加载之后加载。

创建和定义自定义 Traefik 配置文件后,只需重新加载代理即可使新配置生效。

sudo tljh-config reload proxy

警告

当 TLJH 切换到 Traefik > 2.0 时,这些说明可能会更改。

扩展 rules.toml#

Traefik 被配置为从 /opt/tljh/state/rules 目录加载其路由表。此目录中现有的 rules.toml 文件由 jupyterhub-traefik-proxy 用于将 JupyterHub 路由从用户添加到其笔记本服务器,不应修改。

但是,可以通过使用 rules 目录添加其他具有所需路由规则的动态配置文件,在 JupyterHub 范围之外扩展路由表。

注意

位于 /opt/tljh/state/rules 目录下,以 .toml 结尾的任何文件都将由 Traefik 热加载。这意味着无需重新加载代理服务即可使规则生效。

查看 Traefik 文档,了解有关 动态配置 以及如何通过 多个独立文件 提供动态配置的信息。