卸载 JupyterHub#
当您用完 hub 后,应该将其删除,这样您就不用再为它付费了。以下各节介绍了如何在各种云提供商上删除您的 JupyterHub 部署和相关的云资源。
拆除您的 JupyterHub 需要
删除您的 Kubernetes 命名空间,这将删除由 Kubernetes 在其中创建和管理的所有对象。
删除您从云提供商处请求的任何云资源。
进行最后检查,确保没有任何尚未被删除的残留资源(例如,某些云提供商中的存储卷)。
适用于所有云提供商#
删除 Helm release#
本节中的步骤必须首先对所有云提供商执行,然后再进行特定云提供商的设置。
首先,删除 Helm release。这将删除 Helm 为您的 JupyterHub 部署创建的所有资源。
helm delete <YOUR-HELM-RELEASE-NAME>
<你的-HELM-RELEASE-名称>
是最初设置 hub 时提供给helm upgrade
的名称。如果您忘记了使用了什么名称,可以运行helm list
来查找集群中所有的 release 名称。您还可以在此处看到将在下一步中使用的namespace
值。接下来,删除安装 hub 的 Kubernetes 命名空间。这将删除可能已创建的用于存储用户数据的任何磁盘,以及可能已配置的任何 IP 地址。
kubectl delete namespace <YOUR-NAMESPACE>
Google Cloud Platform#
执行删除 Helm release中的步骤。这些与云提供商无关的步骤将删除 Helm release 和 Kubernetes 命名空间。必须在继续之前完成此操作。
删除 Kubernetes 集群。您可以列出您拥有的所有集群。
gcloud container clusters list
然后您可以删除您想要的那一个。
gcloud container clusters delete <CLUSTER-NAME> --zone=<CLUSTER-ZONE>
再次检查以确保所有资源现已删除,因为任何未删除的资源都会让您花钱!您可以检查网页控制台(确保您在正确的项目和帐户中)以验证所有内容都已删除。
至少,在汉堡菜单(左上角)下检查以下内容
计算 -> Compute Engine -> 磁盘
计算 -> Kubernetes Engine -> 集群
工具 -> Container Registry -> 镜像
网络 -> 网络服务 -> 负载均衡
这些可能需要几分钟才能清理完毕,但在您删除集群后,它们不应包含任何与您的 JupyterHub 集群相关的内容。
Microsoft Azure AKS#
执行删除 Helm release中的步骤。这些与云提供商无关的步骤将删除 Helm release 和 Kubernetes 命名空间。必须在继续之前完成此操作。
删除您的资源组。您可以使用以下命令列出您的活动资源组
az group list --output table
然后您可以使用以下命令删除您想要的那个
az group delete --name <YOUR-GROUP-NAME>
请小心删除正确的资源组,因为这样做会不可逆转地删除该组内的所有资源!
再次检查以确保所有资源现已删除,因为任何未删除的资源都会让您花钱!您可以检查网页门户(检查“资源组”页面)以验证所有内容都已删除。
这些可能需要几分钟才能清理完毕,但在您删除资源组后,它们不应包含任何与您的 JupyterHub 集群相关的内容。
Amazon Web Services (AWS)#
执行删除 Helm release中的步骤。这些与云提供商无关的步骤将删除 Helm release 和 Kubernetes 命名空间。必须在继续之前完成此操作。
在 CI 主机上
kops delete cluster <CLUSTER-NAME> --yes # Leave CI host exit # Terminate CI host aws ec2 stop-instances --instance-ids <aws-instance id of CI host> aws ec2 terminate-instances --instance-ids <aws-instance id of CI host>
注意
<集群名称>
应该是<某个名称>.k8s.local
。停止 CI 主机仍会产生磁盘存储和 IP 地址费用,但该主机可以在日后重新启动。
有时 AWS 在第一次尝试时无法删除堆栈的某些部分。请务必再次检查您的堆栈是否确实已被删除,如果需要,请重新执行上述操作。