This document provides troubleshooting steps for common issues encountered when using COSI components including Custom Resource Definitions (CRDs), Custom Resources (CRs), the COSI Controller, and Drivers with Sidecars.
- CRDs fail to apply to the cluster.
- Resources are not recognized by
kubectl
.
- Configuration Misalignment
- Check: Validate whether the installation followed official documentation steps.
- Resolve: Reinstall CRDs by strictly following the quick-start guide, step-by-step.
- BucketClaim/BucketAccess CRs are not processed.
- Status
bucketReady
oraccessGranted
conditions remainfalse
.
-
Misconfigured CR Spec
- Check: Validate required fields (e.g.,
bucketName
,driverName
). - Fix: Refer to the CR examples in the driver documentation.
- Check: Validate required fields (e.g.,
-
Controller Not Responding
- Check: Verify the controller pods is running (
kubectl get pods -n container-object-storage-system
). - Fix: Inspect controller logs for errors.
- Check: Verify the controller pods is running (
- Controller pod crashes or enters
CrashLoopBackOff
. - No events generated for CRs.
-
Missing Permissions
- Check: Review RBAC roles for the controller service account.
- Fix: Ensure the controller has permissions to manage CRDs and watch resources.
-
Reconciliation Failures
- Check: Look for
Reconcile
errors in controller logs. - Fix: Validate driver connectivity or CR configurations (e.g., invalid bucket class parameters).
- Check: Look for
- Sidecar fails to communicate with the driver.
- Bucket provisioning times out.
-
Sidecar-Driver Communication Failure
- Check: Ensure the sidecar and driver share the communication socket (e.g. shared
volumeMounts
). - Fix: Adjust driver manifests and
COSI_ENDPOINT
for both driver and sidecar.
- Check: Ensure the sidecar and driver share the communication socket (e.g. shared
-
Resource Conflicts
- Check: Multiple drivers using the same driver name.
- Fix: Ensure unique
driverName
values per driver instance.
-
Sidecar Liveness Probe Failures
- Check: Inspect sidecar logs for health check errors.
- Fix: Adjust liveness/readiness probe thresholds in the sidecar deployment.
-
Q: Why is my CRD not recognized after applying?
A: Ensure the CRD is compatible with your Kubernetes cluster version and the COSI controller is running. -
Q: The driver isn't responding to provisioning requests. What should I check?
A: Verify driver-sidecar communication. -
Q: Why is my bucket stuck in
ready: false
state?
A: Check storage quotas, driver availability, and controller logs for reconciliation errors.