1

我是 Kubernetes 世界的新手。我正在尝试在集群内部署 jupyter notebook。我参考官方文档创建了 Kubernetes 集群。笔记本说,一旦产卵完成,它将重定向到主页。但是 jupyter pod 在某个时间产卵后卡住了。

jupyter pod 在某个时间产卵后卡住了

我在 GitHub 中提到了类似的问题,但找不到答案。引用的链接是Github Link

从问题的评论中可以看出,jupyter 集线器是否使用永久磁盘。我运行了这些命令,似乎附加了永久磁盘。

kubectl -n 默认获取 po,svc,deploy,pv,pvc -o 宽

    NAME                                 READY   STATUS      RESTARTS   AGE   IP          NODE                                             NOMINATED NODE
pod/deploy-ml-pipeline-csnx4-j556r   0/1     Completed   0          30m   10.60.1.6   gke-churnprediction-default-pool-142b8f7d-d4kv   <none>

NAME                 TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE   SELECTOR
service/kubernetes   ClusterIP   10.63.240.1   <none>        443/TCP   32m   <none>

NAME                                                        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                     STORAGECLASS   REASON   AGE
persistentvolume/pvc-57af1a5e-505d-11e9-9b66-42010a800130   10Gi       RWO            Delete           Bound    kubeflow/vizier-db        standard                27m
persistentvolume/pvc-70874d08-505d-11e9-9b66-42010a800130   10Gi       RWO            Delete           Bound    kubeflow/minio-pv-claim   standard                26m
persistentvolume/pvc-70b1712e-505d-11e9-9b66-42010a800130   10Gi       RWO            Delete           Bound    kubeflow/mysql-pv-claim   standard                26m
persistentvolume/pvc-86d45ad1-505d-11e9-9b66-42010a800130   10Gi       RWO            Delete           Bound    kubeflow/claim-madhi      standard                25m

这是上述命令的结果,据我所知,永久磁盘已成功附加!我真的不知道它在内部是如何工作的。所以,我无法弄清楚这里有什么问题。任何人都可以解释问题或提供kubernetes架构链接的链接吗?这对我理解 Kubernetes 背后的核心概念会有帮助。

以下是用于获取有关 pod 的描述的命令

kubectl 描述 pod pod_name

在此处输入图像描述

获取yaml文件

kubectl 获取 pod pod_name -o yaml

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

3

我有点想出了解决方案,但我不知道这是确切的解决方案还是仍然存在问题。根据评论,pod 或其他配置文件没有问题。我有点认为这可能是本地主机问题。因此,我尝试将端口从 8085 更改为 8081,然后重新运行start_ui.sh脚本。生成错误消失了,它把我重定向到了 juypter 工作目录。

kubectl port-forward -n ${NAMESPACE} $(kubectl get pods -n ${NAMESPACE} --selector=service=ambassador -o jsonpath='{.items[0].metadata.name}') 8081:80

如果您想避免所有这些问题,那么有效的方法是在端点而不是 localhost 中运行 kubeflow,从而消除所有这些问题。要在端点查看仪表板,您需要在创建集群时最初设置 IAM 访问权限。

于 2019-04-08T11:49:18.613 回答