社区资源#
本节为社区提供了一个空间,用于分享有关设置、管理和维护 JupyterHub 的信息。
重要
我们认识到 Kubernetes 有许多部署选项。作为资源有限的项目团队,我们依靠社区成员分享他们积累的 Kubernetes 知识和 JupyterHub 经验。
我们希望您能使用本节分享各种基础设施和不同用例的部署。还提供了一个 社区维护的用户列表,其中包含本指南和 JupyterHub Helm Chart 的用户。
请提交 问题/拉取请求 以添加到本节。谢谢。
技巧和代码片段#
本页用于收集一些特别有用的模式和代码片段,帮助您与 Kubernetes 集群和 JupyterHub 交互。如果您认为某个内容足够通用(并且不够明显),可以添加到本页,请随时提交 PR!
kubectl
自动补全#
Kubernetes 提供了一个辅助脚本,允许您在使用 kubectl
时自动补全命令和对对象的引用。这使您可以使用 TAB 键进行补全,节省大量时间。
请按照 适用于您的平台的 kubectl 安装说明 查找 shell 自动补全说明。
helm
自动补全#
Helm 也提供了一个自动补全脚本,允许您在使用 Helm 时使用 TAB 键进行命令补全。
管理 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 将自己添加到这个按字母顺序排序的列表中!
加州大学伯克利分校的数据科学教育项目的 DataHub
一群巴黎附近的大学(由 CNRS 和 Polytechnique 的一个团队领导)部署了 一个跨机构的 JupyterHub 用于大学使用。
Globus 运行一个 [Zero-to-JupyterHub 实例](<https://jupyter.demo.globus.org/>) 来帮助用户了解 Globus REST API。
指向社区项目资源的链接#
此页面包含指向 JupyterHub 生态系统中其他材料的链接和引用。它可能包括其他指南、JupyterHub 部署示例或来自社区的帖子。
如果您有任何建议要添加到此页面,请 打开一个问题。
从太空望远镜科学研究所自动在 AWS 上部署 JupyterHub
使用 Terraform 设置 Kubernetes
terraform-deploy 仓库 此仓库包含几个 AWS 上的示例 Kubernetes 集群部署。
Terraform 教程示例 旨在向新手介绍 Terraform,并向他们展示如何使用它部署 AWS EKS 集群。
Terraform 博客文章 此示例更深入地介绍了使用 Terraform 部署一个有见地的 Kubernetes 集群。它还附带了一篇博客文章,可以在 Medium 上找到。