I've setup Azure Container Service with Kubernetes and I use dynamic provisioning of volumes (see details below) when deploying new Pods. Quite frequently (about 10%) I get the following error which halts the deployment:
14h 1m 439 {controller-manager } Warning FailedMount Failed to attach volume "pvc-95aa8dbf-082e-11e7-af1a-000d3a2735d9" on node "k8s-agent-1da8a8df-2" with: Attach volume "clst-west-eu-dev-dynamic-pvc-95aa8dbf-082e-11e7-af1a-000d3a2735d9.vhd" to instance "k8s-agent-1DA8A8DF-2" failed with compute.VirtualMachinesClient#CreateOrUpdate: Failure responding to request: StatusCode=409 -- Original Error: autorest/azure: Service returned an error. Status=409 Code="AttachDiskWhileBeingDetached" Message="Cannot attach data disk 'clst-west-eu-dev-dynamic-pvc-f843f8fa-0663-11e7-af1a-000d3a2735d9.vhd' to VM 'k8s-agent-1DA8A8DF-2' because the disk is currently being detached. Please wait until the disk is completely detached and then try again."
The Pod deployment then halts forever, or until I delete the Pod and let the ReplicationController create a new one.
Any idea what is causing this?
Workflow
I have created the following StorageClass:
Name: azure-disk
IsDefaultClass: No
Annotations: <none>
Provisioner: kubernetes.io/azure-disk
Parameters: location=westeu,skuName=Standard_LRS,storageAccount=<<storageaccount>>
The storageaccount does contain a Blob service named vhds.
When deploying a new Pod, I create a PVC that looks like this:
{
"apiVersion": "v1",
"kind": "PersistentVolumeClaim",
"Provisioner": "kubernetes.io/azure-disk",
"metadata": {
"name": "test-deployment-pvc",
"annotations": {
"volume.beta.kubernetes.io/storage-class": "azure-disk"
},
"labels": {
"org": "somelabel"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "1Gi"
}
}
}
}
and finally use the PVC in the pods:
{
"volumes": [
{
"persistentVolumeClaim": {
"claimName": "test-deployment-pvc"
},
"name": "storage"
}
]
}
I've setup Azure Container Service with Kubernetes and I use dynamic provisioning of volumes (see details below) when deploying new Pods. Quite frequently (about 10%) I get the following error which halts the deployment:
The Pod deployment then halts forever, or until I delete the Pod and let the ReplicationController create a new one.
Any idea what is causing this?
Workflow
I have created the following StorageClass:
The storageaccount does contain a Blob service named
vhds.When deploying a new Pod, I create a PVC that looks like this:
and finally use the PVC in the pods: