社区资源#

本节为社区提供了一个空间,用于分享有关设置、管理和维护 JupyterHub 的信息。

重要

我们认识到 Kubernetes 有许多部署选项。作为资源有限的项目团队,我们依靠社区成员分享他们积累的 Kubernetes 知识和 JupyterHub 经验。

注意

为 Z2JH 做贡献。如果您想帮助改进从零开始使用 JupyterHub 的指南,请查看 问题页面 以及 贡献者指南

我们希望您能使用本节分享各种基础设施和不同用例的部署。还提供了一个 社区维护的用户列表,其中包含本指南和 JupyterHub Helm Chart 的用户。

请提交 问题/拉取请求 以添加到本节。谢谢。

技巧和代码片段#

本页用于收集一些特别有用的模式和代码片段,帮助您与 Kubernetes 集群和 JupyterHub 交互。如果您认为某个内容足够通用(并且不够明显),可以添加到本页,请随时提交 PR!

kubectl 自动补全#

Kubernetes 提供了一个辅助脚本,允许您在使用 kubectl 时自动补全命令和对对象的引用。这使您可以使用 TAB 键进行补全,节省大量时间。

请按照 适用于您的平台的 kubectl 安装说明 查找 shell 自动补全说明。

helm 自动补全#

Helm 也提供了一个自动补全脚本,允许您在使用 Helm 时使用 TAB 键进行命令补全。

以下是安装 helm 自动补全的说明.

管理 kubectl 上下文#

人们经常同时管理多个 Kubernetes 部署。 kubectl 使用“上下文”的概念来处理这种情况,该概念指定您在键入 kubectl get XXX 时所指的 Kubernetes 部署。

要查看当前可用的上下文列表,请使用以下命令

kubectl config get-contexts

这将列出您所有的 Kubernetes 上下文。您可以通过输入以下内容来选择特定上下文

kubectl config use-context <CONTEXT-NAME>

为上下文指定默认命名空间#

如果您厌倦了每次键入 kubernetes 命令时都键入 namespace=XXX,以下代码片段将允许您为给定的 Kubernetes 上下文设置默认命名空间

kubectl config set-context $(kubectl config current-context) \
    --namespace=<YOUR-NAMESPACE>

上面的命令仅适用于当前活动的上下文,并且允许您跳过此上下文的命令中的 --namespace= 部分。

使用标签和选择器与 kubectl 交互#

有时,选择一整类 Kubernetes 对象而不是按名称引用它们很有用。您可以将任意标签集附加到 Kubernetes 对象,然后在使用 kubectl 搜索时引用这些标签。

要根据标签值进行搜索,请使用 -l--selector= 关键字参数。例如,JupyterHub 为所有用户 Pod 创建了一个特定的标签子集。您可以使用以下标签查询搜索所有用户 Pod

kubectl --namespace=<YOUR-NAMESPACE> get pod \
    -l "component=singleuser-server"

有关更多信息,请参阅 Kubernetes 标签和选择器页面

请求更详细或结构化的输出#

有时 kubectl get <XXX> 的默认输出中的信息不足以满足您的需求,或者其结构不符合您的要求。我们建议您查看不同的 Kubernetes 输出选项,这些选项可以像这样修改

kubectl --namespace=<NAMESPACE> get pod -o <json|yaml|wide|name...>

您可以在 kubectl 信息页面 上找到有关您可以生成哪些输出类型的更多信息。(单击并搜索文本“输出选项”)

这是一个由社区维护的组织/个人列表,他们使用 Zero to JupyterHub 指南和 Helm 图表来维护他们的 JupyterHub。向我们发送一个 Pull Request 将自己添加到这个按字母顺序排序的列表中!