Hi there,
I would like some help. I migrate my cluster from 1.20 to 1.25.
Here is the details :
Cluster information:
Kubernetes version: 1.25.11
Cloud being used: bare-metal
Installation method: kubeadm
Host OS: RHEL 9.2
CNI and version: Calico 3.25
CRI and version: containerd 1.6.21
I have 3 CP and 3 Workers. All are VMs on ESXi (v8.0.0). I’m using Vsphere for management (v8.0.0).
At first (k8s 1.20), I configured the cluster to use vsphere volume. Everything was working as expected.
With the migration to 1.25, I discovered the new CSI migration. One of my deployments use two PVC (vsphere volume) and is now stuck because the PVC won’t attach.
I followed the step by step tutorail here : Preparing for Installation of vSphere Container Storage Plug-in
All pods from vmware-system-csi namespace are running but in the logs I see errors like this :
Error processing “csi-116d4280341c1403c829d1f390763be7c69384aa80a0ba7e3bd4144d1d9139ad”: failed to detach: rpc error: code = Internal desc = failed to get VolumeID from volumeMigrationService for volumePath: “[ESX1-datastore] kubevols/kubernetes-dynamic-pvc-74f53813-c4e1-4613-9db0-08211a7bf9ec.vmdk”
All my VMs has the UUID enabled and one SCSI controller “VMware Paravirtual”
Can you help me ?
Here is the csi-vsphere.conf file for the secret.
[Global]
user = "administrator@vsphere.local"
password = "XXXXX"
port = "443"
insecure-flag = "1"
[VirtualCenter "172.16.1.101"]
datacenters = "mlr-lab"
[Workspace]
server = "172.16.1.101"
datacenter = "mlr-lab"
default-datastore = "ESX1-datastore"
resourcepool-path = "mlr-lab/Resources"
folder = "PVC-K8S"
[Disk]
scsicontrollertype = pvscsi
[Network]
public-network = "LAN Network"
The storage class :
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: example-vanilla-file-sc
annotations:
storageclass.kubernetes.io/is-default-class: 'false'
provisioner: csi.vsphere.vmware.com
parameters:
datastore: ESX1-datastore
diskformat: thin
fstype: xfs
reclaimPolicy: Delete
volumeBindingMode: Immediate
And a sample PVC :
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: calibre-pv-config-claim
labels:
app: calibre
annotations:
pv.kubernetes.io/bound-by-controller: 'yes'
volume.beta.kubernetes.io/storage-provisioner: csi.vsphere.vmware.com
volume.kubernetes.io/storage-provisioner: csi.vsphere.vmware.com
finalizers:
- kubernetes.io/pvc-protection
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 500Mi
storageClassName: example-vanilla-file-sc
volumeMode: Filesystem
status:
phase: Pending