Enhance csi-snapshot-controller README with troubleshooting guidance for CrashLoopBackOff issues and update kustomization.yaml to include deployment patch. This improves user experience and deployment reliability.

This commit is contained in:
Nikholas Pcenicni
2026-05-13 23:59:30 -04:00
parent 663ebc5001
commit 2bf7277917
3 changed files with 36 additions and 0 deletions

View File

@@ -14,3 +14,17 @@ kubectl -n kube-system rollout status deploy/snapshot-controller --timeout=120s
```
After this, create or label a **VolumeSnapshotClass** for Longhorn (`velero.io/csi-volumesnapshot-class: "true"`) per `clusters/noble/bootstrap/velero/README.md`.
## Troubleshooting
If **`snapshot-controller`** is **CrashLoopBackOff** with exit **255** / **1**, check previous logs:
```bash
kubectl -n kube-system logs deploy/snapshot-controller --previous --tail=80
```
Typical causes:
1. **Volume Snapshot CRDs missing or wrong version** — re-apply: `kubectl apply -k clusters/noble/bootstrap/csi-snapshot-controller/crd`
2. **Volume group snapshot APIs** — this repo installs **GA** `VolumeSnapshot*` CRDs only. The controller overlay sets **`--feature-gates=CSIVolumeGroupSnapshot=false`** so the binary does not expect **VolumeGroupSnapshot*** CRDs.
3. **RBAC** — re-apply the controller kustomize (includes `rbac-snapshot-controller.yaml`).

View File

@@ -0,0 +1,19 @@
# Overlay on upstream setup-snapshot-controller.yaml (external-snapshotter v8.5.0).
# - We only install GA VolumeSnapshot CRDs (no VolumeGroupSnapshot*). Explicitly disable the
# group-snapshot feature so the controller does not wait on / watch APIs we did not install.
# - Longer CRD wait helps apiserver/etcd under load during bootstrap (avoids startup timeout).
apiVersion: apps/v1
kind: Deployment
metadata:
name: snapshot-controller
namespace: kube-system
spec:
template:
spec:
containers:
- name: snapshot-controller
args:
- "--v=5"
- "--leader-election=true"
- "--feature-gates=CSIVolumeGroupSnapshot=false"
- "--retry-crd-interval-max=5m"

View File

@@ -6,3 +6,6 @@ namespace: kube-system
resources:
- https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/v8.5.0/deploy/kubernetes/snapshot-controller/rbac-snapshot-controller.yaml
- https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/v8.5.0/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml
patches:
- path: deployment-patch.yaml