argo-workflows: MountVolume.SetUp failed for volume "docker-sock" & "docker-lib"
BUG REPORT ?
What happened:
Try to deploy the basic hello-world.yaml example in a Kubernetes cluster on Azure AKS
Sound like it cannot mount the docker socket and the lib
Warning FailedMount 12s (x6 over 27s) kubelet, aks-nodepool1-21279999-2 MountVolume.SetUp failed for volume "docker-sock" : hostPath type check failed: /var/run/docker.sock is not a socket file
Warning FailedMount 12s (x6 over 27s) kubelet, aks-nodepool1-21279999-2 MountVolume.SetUp failed for volume "docker-lib" : hostPath type check failed: /var/lib/docker is not a directory
How to reproduce it (as minimally and precisely as possible):
argo submit hello-world.yaml
Environment:
- Argo version:
v2.1.0-beta2
- Kubernetes version :
1.9.1 (RBAC disabled)
Other debugging information (if applicable):
- workflow result:
$ argo get tf-workflow-5jcpn-3759387957
...
Running
...
- executor logs:
Name: tf-workflow-5jcpn-3759387957
Namespace: tfworkflow
Node: aks-nodepool1-21279999-2/10.240.0.4
Start Time: Fri, 13 Apr 2018 13:51:51 -0400
Labels: workflows.argoproj.io/completed=false
workflows.argoproj.io/workflow=tf-workflow-5jcpn
Annotations: workflows.argoproj.io/node-name=tf-workflow-5jcpn[0].get-workflow-info
workflows.argoproj.io/template={"name":"get-workflow-info","inputs":{},"outputs":{"parameters":[{"name":"s3-model-url","valueFrom":{"path":"/tmp/s3-model-url"}},{"name":"s3-exported-url","valueFrom":{...
Status: Pending
IP:
Controlled By: Workflow/tf-workflow-5jcpn
Containers:
main:
Container ID:
Image: nervana/circleci:master
Image ID:
Port: <none>
Command:
echo 's3://tfjob/models/myjob-07b1d/' | tr -d '[:space:]' > /tmp/s3-model-url; echo 's3://tfjob/models/myjob-07b1d/export/mnist/' | tr -d '[:space:]' > /tmp/s3-exported-url
State: Waiting
Reason: ContainerCreating
Ready: False
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-cpbjn (ro)
wait:
Container ID:
Image: argoproj/argoexec:v2.1.0-beta2
Image ID:
Port: <none>
Command:
argoexec
Args:
wait
State: Waiting
Reason: ContainerCreating
Ready: False
Restart Count: 0
Environment:
ARGO_POD_IP: (v1:status.podIP)
ARGO_POD_NAME: tf-workflow-5jcpn-3759387957 (v1:metadata.name)
ARGO_NAMESPACE: tfworkflow (v1:metadata.namespace)
Mounts:
/argo/podmetadata from podmetadata (rw)
/var/lib/docker from docker-lib (ro)
/var/run/docker.sock from docker-sock (ro)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-cpbjn (ro)
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
podmetadata:
Type: DownwardAPI (a volume populated by information about the pod)
Items:
metadata.annotations -> annotations
docker-lib:
Type: HostPath (bare host directory volume)
Path: /var/lib/docker
HostPathType: Directory
docker-sock:
Type: HostPath (bare host directory volume)
Path: /var/run/docker.sock
HostPathType: Socket
default-token-cpbjn:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-cpbjn
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 28s default-scheduler Successfully assigned tf-workflow-5jcpn-3759387957 to aks-nodepool1-21279999-2
Normal SuccessfulMountVolume 27s kubelet, aks-nodepool1-21279999-2 MountVolume.SetUp succeeded for volume "podmetadata"
Normal SuccessfulMountVolume 27s kubelet, aks-nodepool1-21279999-2 MountVolume.SetUp succeeded for volume "default-token-cpbjn"
Warning FailedMount 12s (x6 over 27s) kubelet, aks-nodepool1-21279999-2 MountVolume.SetUp failed for volume "docker-sock" : hostPath type check failed: /var/run/docker.sock is not a socket file
Warning FailedMount 12s (x6 over 27s) kubelet, aks-nodepool1-21279999-2 MountVolume.SetUp failed for volume "docker-lib" : hostPath type check failed: /var/lib/docker is not a directory
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 7
- Comments: 26 (9 by maintainers)
we have exact the same problem in AKS on 1.19.6
shall we just update the doc to show this? The same question asked again again, I think it is worth the updating the doc.
We had the same problem on the kind cluster, is argo support kind cluster?
So this seems to be the underlying cause: https://github.com/kubernetes/kubernetes/issues/61801 The fix will be in 1.9.7
I have this issue too. I have opened a new issue. Please help. Thanks.
Please use PNS executor
Hi - I’m still seeing this in a cluster not running docker (
cri-o://1.18.1
) is there a workaround?Fixed for minikube/cri-o
Thanks @alexec
Assuming you deployed argo workflow to the argo namespace:
aks with 1.19 version starts using containerd instead of docker engine. Thus we have this issue.
Just started looking into using Argo as a replacement for CronJob because it supports timezones / + dst, but on 1.19.9 in AKS I’m running into the same problem as described above.
MountVolume.SetUp failed for volume “docker-sock” : hostPath type check failed: /var/run/docker.sock is not a socket file
n/m, followed what is specified in https://github.com/argoproj/argo-workflows/issues/5243 and was able to get it to work.
we are getting this again in AKS 1.19.3 is anyone else?
Very strange, based on that
stat
output, I can’t understand how kubernetes could be complaining:The
stat
command clearly states those files belonging to the expected file types.