我是 Kubernetes 世界的新手。我正在尝试在集群内部署 jupyter notebook。我引用官方文档创建了 Kubernetes 集群。笔记本说,一旦产卵完成,它将重定向到主页。但是 jupyter pod 在某个时间产卵后卡住了。
我在 GitHub 中提到了类似的问题,但找不到答案。引用链接是Github Link
从问题的评论中可以看出,jupyter 集线器是否使用永久磁盘。我运行了这些命令,似乎附加了永久磁盘。
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架构链接的链接吗?这对我理解 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
如果你想避免所有这些问题,那么有效的方法是在 中运行 kubeflow端点 而不是 localhost ,它消除了所有这些问题。要在端点查看仪表板,您需要在创建集群时最初设置 IAM 访问权限。
关于kubernetes - kubeflow - jupyter pod 在某个时间产卵后卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55371858/