LoginSignup
2
2

More than 3 years have passed since last update.

MicroK8sでArgoが動かない問題への対応方法

Posted at

概要

MicroK8sにArgoをインストールしてWorkflowを動かした際に、下記のエラーが出て動かない問題の原因と対応方法です。

MountVolume.SetUp failed for volume "docker-sock" : hostPath type check failed: /var/run/docker.sock is not a socket file

原因と対応方法

原因は(エラーメッセージそのままですが)MicroK8sには /var/run/docker.sock がないことのようです。
https://github.com/kubeflow/kubeflow/issues/2347

リンク先のIssueにはパスを変更して対応する方法も書かれていますが、もう少しスマートな方法としてExecutorを変更する方法があるようです。

Argoでは下記のExecutorが選べるようになっており、デフォルトでは docker が設定されています

  • docker
  • k8sapi
  • kubelet
  • pns

これを docker 以外に変更することで /var/run/docker.sock も不要になってエラーが出なくなるようです。
それぞれの違いは良く分からなかった1のですが、とりあえずk8sapiを利用してみたところ問題なく動いています。

Helmを利用してインストールする場合は controller.containerRuntimeExecutor でExecutorの指定が可能です。

helm install argo argo/argo --set "controller.containerRuntimeExecutor=k8sapi"

  1. 一応 https://argoproj.github.io/docs/argo/workflow-executors.html にPros/Consは記載されており、(docker以外を選ぶ必要があるなら)雰囲気的には安定したらpnsが良さそうな感じはします。ちなみに上記で利用したk8sapiはAPI経由だから遅いらしいです。 

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2