Kubeflow 管道无法创建容器

Kubeflow pipeline fail to create container

我是 运行 Kubeflow 在我使用 these steps 通过多通道部署的本地机器上,但是当我尝试 运行 我的管道时,它卡住了消息 ContainerCreating。当我 运行 kubectl describe pod train-pipeline-msmwc-1648946763 -n kubeflow 我在描述的事件部分发现了这个:

Events:
  Type     Reason       Age                    From                  Message
  ----     ------       ----                   ----                  -------
  Warning  FailedMount  7m12s (x51 over 120m)  kubelet, kubeflow-vm  Unable to mount volumes for pod "train-pipeline-msmwc-1648946763_kubeflow(45889c06-87cf-4467-8cfa-3673c7633518)": timeout expired waiting for volumes to attach or mount for pod "kubeflow"/"train-pipeline-msmwc-1648946763". list of unmounted volumes=[docker-sock]. list of unattached volumes=[podmetadata docker-sock mlpipeline-minio-artifact pipeline-runner-token-dkvps]
  Warning  FailedMount  2m22s (x67 over 122m)  kubelet, kubeflow-vm  MountVolume.SetUp failed for volume "docker-sock" : hostPath type check failed: /var/run/docker.sock is not a socket file

在我看来我的部署有问题,但我是 Kubernetes 的新手,不知道我现在应该做什么。关于如何解决这个问题的任何想法?我不知道它是否有帮助,但我正在从私人 docker 注册表中提取容器,并且我已经根据 this.

设置了秘密

少了一步教程没有提到,就是我要安装docker。我已经安装 docker,重新启动机器,现在一切正常。

您不需要使用 docker。事实上,问题出在 kubeflow 名称 space 中的 workflow-controller-configmap。您可以使用

对其进行编辑
kubectl edit configmap workflow-controller-configmap -n kubeflow

并将 containerRuntimeExecutor: docker 更改为 containerRuntimeExecutor: pns。您也可以更改一些步骤并在 mutlitpass 1.21 而不是 1.15 中安装 kubeflow 1.3。不要使用 kubelfow 附加组件(至少对我不起作用)。您需要 kustomize 3.2 来创建他们在 https://github.com/kubeflow/manifests#installation.

中提到的清单