kubeflow - jupyter pod 在产卵后卡住了
kubeflow - jupyter pod got stuck after spawning sometime
我是 Kubernetes 世界的新手。我正在尝试在集群内部署 jupyter notebook。我参考官方文档创建了kubernetes集群。 notebook 说它会在产卵完成后重定向到主页。但是 jupyter pod 在某个时候产卵后卡住了。
我在 GitHub 中提到了类似的问题,但找不到答案。引用的 link 是 Github Link
从issue的评论来看jupyter hub是否使用persistent disk。我 运行 这些命令,似乎已附加永久磁盘。
kubectl -n default get po,svc,deploy,pv,pvc -o wide
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 架构 link 的 link 吗?这对我理解 kubernetes 背后的核心概念很有帮助。
下面是用来获取 pod 描述的命令
kubectl describe pod pod_name
获取yaml文件
kubectl get pod pod_name -o yaml
我有点想出了解决方案,但我不知道这是正确的解决方案还是仍然存在问题。根据评论,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
并且如果你想避免所有这些问题,那么有效的方法是 运行 endpoints 中的 kubeflow 而不是 localhost,这样可以消除所有这些问题。要在端点查看仪表板,您需要在创建集群时首先设置 IAM 访问权限。
我是 Kubernetes 世界的新手。我正在尝试在集群内部署 jupyter notebook。我参考官方文档创建了kubernetes集群。 notebook 说它会在产卵完成后重定向到主页。但是 jupyter pod 在某个时候产卵后卡住了。
我在 GitHub 中提到了类似的问题,但找不到答案。引用的 link 是 Github Link
从issue的评论来看jupyter hub是否使用persistent disk。我 运行 这些命令,似乎已附加永久磁盘。
kubectl -n default get po,svc,deploy,pv,pvc -o wide
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 架构 link 的 link 吗?这对我理解 kubernetes 背后的核心概念很有帮助。
下面是用来获取 pod 描述的命令
kubectl describe pod pod_name
获取yaml文件
kubectl get pod pod_name -o yaml
我有点想出了解决方案,但我不知道这是正确的解决方案还是仍然存在问题。根据评论,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
并且如果你想避免所有这些问题,那么有效的方法是 运行 endpoints 中的 kubeflow 而不是 localhost,这样可以消除所有这些问题。要在端点查看仪表板,您需要在创建集群时首先设置 IAM 访问权限。