卸载 JupyterHub#

当你不再需要你的 hub 时,你应该删除它,这样你就不会再为它付费。以下部分描述了如何在各种云提供商上删除你的 JupyterHub 部署和相关云资源。

拆除你的 JupyterHub 包括

  1. 删除你的 Kubernetes 命名空间,这将删除在其中创建和管理的所有 Kubernetes 对象。

  2. 删除你从云提供商请求的任何云资源。

  3. 进行最终检查,确保没有遗留的未删除资源(例如,某些云提供商中的存储卷)。

对于所有云提供商#

删除 helm 版本#

在进行云提供商特定的设置之前,必须首先对所有云提供商执行本节中的步骤。

  1. 首先,删除 Helm 版本。这将删除为你的 JupyterHub 部署创建的所有资源。

    helm delete <YOUR-HELM-RELEASE-NAME>
    

    <YOUR-HELM-RELEASE-NAME> 是在最初设置 hub 时提供给 helm upgrade 的名称。如果你忘记了使用什么,你可以运行 helm list 来查找集群中的所有版本名称。你也可以在这里看到将在下一步中使用的 namespace 值。

  2. 接下来,删除安装 hub 的 Kubernetes 命名空间。这将删除可能创建的用于存储用户数据的任何磁盘,以及可能已配置的任何 IP 地址。

    kubectl delete namespace <YOUR-NAMESPACE>
    

Google Cloud Platform#

  1. 执行 删除 helm 版本 中的步骤。这些与云提供商无关的步骤将删除 Helm 版本和 Kubernetes 命名空间。必须在继续之前完成此操作。

  2. 删除 Kubernetes 集群。你可以列出你拥有的所有集群。

    gcloud container clusters list
    

    然后你可以删除你想要的那个。

    gcloud container clusters delete <CLUSTER-NAME> --zone=<CLUSTER-ZONE>
    
  3. 仔细检查以确保所有资源现在都已删除,因为任何未删除的资源都会让你花钱!你可以检查 网络控制台(确保你在正确的项目和帐户中)以验证所有内容是否已删除。

    至少检查汉堡菜单(左上角)下的以下内容

    1. 计算 -> 计算引擎 -> 磁盘

    2. 计算 -> Kubernetes 引擎 -> 集群

    3. 工具 -> 容器注册表 -> 镜像

    4. 网络 -> 网络服务 -> 负载均衡

    这些可能需要几分钟才能清除,但当你删除集群后,它们不应该包含与你的 JupyterHub 集群相关的任何内容。

Microsoft Azure AKS#

  1. 执行 删除 helm 版本 中的步骤。这些与云提供商无关的步骤将删除 Helm 版本和 Kubernetes 命名空间。必须在继续之前完成此操作。

  2. 删除你的资源组。你可以使用以下命令列出你的活动资源组

    az group list --output table
    

    然后你可以使用以下命令删除你想要的那个

    az group delete --name <YOUR-GROUP-NAME>
    

    小心删除正确的资源组,因为这样做将不可逆转地删除组中的所有资源!

  3. 请仔细检查确保所有资源都已删除,因为任何未删除的资源都会产生费用!您可以查看 网页门户(查看“资源组”页面)以验证所有内容是否已删除。

    这些资源可能需要几分钟才能清除,但在您删除资源组后,它们不应该与您的 JupyterHub 集群有任何关联。

Amazon Web Services (AWS)#

  1. 执行 删除 helm 版本 中的步骤。这些与云提供商无关的步骤将删除 Helm 版本和 Kubernetes 命名空间。必须在继续之前完成此操作。

  2. 在 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>
    

注意

  • <CLUSTER NAME> 应为 <SOME NAME>.k8s.local

  • 停止 CI 主机仍会产生磁盘存储和 IP 地址费用,但主机可以在以后重新启动。

  • 有时 AWS 无法在第一次尝试时删除堆栈的某些部分。请务必仔细检查您的堆栈是否已删除,并在需要时重新执行上述操作。