vSphere CSI 3.4 is Incompatible with Kubernetes 1.29.x on OpenShift 4.16.39
search cancel

vSphere CSI 3.4 is Incompatible with Kubernetes 1.29.x on OpenShift 4.16.39

book

Article ID: 401395

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

CSI 3.4 deployment to OpenShift 4.16.39 failed across multiple nodes. PVCs remained Pending, and CSI components failed to register. Logs showed plugin registration failures and missing CRDs:

“failed to get CsiNodeTopology for the node… no matches for kind ‘CSINodeTopology’ in version ‘cns.vmware.com/v1alpha1’”

This resulted in the CSI node and controller pods crashlooping or failing to register with the kubelet, and dynamic provisioning was unavailable.

Environment

VMware vCenter Server

Cause

CSI driver version 3.4.0 is not compatible with Kubernetes 1.29.x. According to VMware CSI release notes, CSI 3.4.0 requires Kubernetes 1.30 or later. Deploying it on 1.29.x clusters results in CRD mismatches, registration errors, and incompatibilities with newer components like CSINodeTopology and the topology sidecar containers.

Resolution

The CSI driver was downgraded to version 3.3.1, which is compatible with Kubernetes 1.29. The following steps were taken:

  • All CSI components were downgraded to 3.3.1
  • Topology components such as topology-registrar and topology-csi-controller were temporarily removed from the manifests to avoid startup failures
  • After validating that CSI registration succeeded under 3.3.1, topology sidecars were reintroduced

Following the downgrade, CSI controller and node pods registered successfully. PVCs bound properly, and volume provisioning resumed. The cluster regained full CSI functionality without requiring upgrades to Kubernetes.