我是Kubernetes世界的新手。我正在尝试在集群内部署jupyter笔记本。我已经参考官方文档创建了kubernetes集群。该笔记本表示,一旦产卵结束,它将重定向到主页。但jupyter pod在产卵后卡住了。
我在GitHub中提到了类似的问题,但找不到答案。引用的链接是Github Link
从问题的评论中提出,jupyter hub是否使用持久性磁盘。我运行了那些命令,似乎附加了持久性磁盘。
kubectl -n默认获取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描述pod pod_name
获取yaml文件
getub在pod_name -o yaml下
我有点想出解决方案,但我不知道这是确切的解决方案还是仍有问题。根据评论,pod或其他配置文件没有问题。我有点认为它可能是localhost问题。所以,我尝试将端口从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访问权限。