kubernetes error datastore is not a shared datastore across node VMs

11/26/2019

when installing "consul" backend using Helm in kubernetes cluster, the pvc is in state "pending". However, I could create the pv,pvc manually and the status is "BOUND".

what is this error mean? Failed to provision volume with StorageClass "thin-disk": The specified datastore /kube is not a shared datastore across node VMs

The storageclass.yaml used is like below.

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: thin-disk
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: kubernetes.io/vsphere-volume
parameters:
    datastore: /kube 
    diskformat: thin
    fstype: ext3

While installing consul using helm, the pvc is not succssful using the storage class (above) for auto-provisioning. Then how the pvc is created manually? Do I need to modify the storageclass or anything is missing in the worker node?

root@desktop:~# kubectl describe persistentvolumeclaim/data-consul-vault-callous-armadillo-consul-server-0
Name:          data-consul-vault-callous-armadillo-consul-server-0
Namespace:     consul-vault
StorageClass:  thin-disk
Status:        Pending
Volume:        
Labels:        app=consul
               chart=consul-helm
               component=server
               hasDNS=true
               release=callous-armadillo
Annotations:   volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/vsphere-volume
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      
Access Modes:  
Events:
  Type       Reason              Age                  From                         Message
  ----       ------              ----                 ----                         -------
  Warning    ProvisioningFailed  36s (x7 over 2m51s)  persistentvolume-controller  Failed to provision volume with StorageClass "thin-disk": The specified datastore /kube is not a shared datastore across node VMs
-- arunp
consul
consul-template
kubernetes
kubernetes-helm

0 Answers