I created storageclass and persistentvolumeclaim in the vSphere infrastructure. However, I am getting an error when I checked persistentvolumeclaim using kubectl describe pvc pvc-name command:
[root@ti001 ~]# kubectl describe pvc jenkins-claim
Name: jenkins-claim
Namespace: default
StorageClass: fast
Status: Pending
Volume:
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{"volume.beta.kubernetes.io/storage-class":"fast"},"name":"jen...
volume.beta.kubernetes.io/storage-class: fast
volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/vsphere-volume
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode: Filesystem
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning ProvisioningFailed 36m (x28 over 97m) persistentvolume-controller (combined from similar events): Failed to provision volume with StorageClass "fast": No shared datastores found in the Kubernetes cluster for nodeVmDetails: [{NodeName:ti003.tr-ist-open1.int.cloud.karel.com.tr vm:0xc001ec5310 VMUUID:4205e2fb-4c92-5395-3b3e-22fa45c52853 Zone:0xc000b63820} {NodeName:ti001.tr-ist-open1.int.cloud.karel.com.tr vm:0xc001ec54e0 VMUUID:420505c1-c5ea-ea7b-02c8-5dc026621f18 Zone:0xc000b62da0} {NodeName:ti002.tr-ist-open1.int.cloud.karel.com.tr vm:0xc0021248d0 VMUUID:42054b37-5c82-04ec-6df0-20f32e1b07e5 Zone:0xc0009cf0e0}]
The storageclass.yml and persistentvolumeclaim.yml used is as followings:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast
provisioner: kubernetes.io/vsphere-volume
parameters:
datastore: VSANDatastore
diskformat: thin
fstype: ext3
persistentvolumeclaim.yml:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: jenkins-claim
annotations:
volume.beta.kubernetes.io/storage-class: fast
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
Should we add a common datastore in the vSphere environment to solve the problem? Or may it be something different?