Skip to main content
RunBook Academy

← All runbooks in Ceph

medium riskservice affecting~30 min

Troubleshoot Kubernetes / Ceph CSI

1 · Prerequisites

Confirm every item is in place before any state change.

  • A Kubernetes Pod cannot mount a PVC
  • The CSI driver reports errors

2 · Pre-checks

Read-only diagnostic commands. If any of these don't match expected output, stop and investigate further.

  • · Check the PVC: kubectl describe pvc
  • · Check the PV
  • · Check the StorageClass
  • · Check the CSI driver logs: kubectl logs
  • · Check Ceph: ceph -s
  • · Check the cephx credentials in the csi-rbd secret
  • · Check the network between Kubernetes and Ceph

3 · Procedure

Execute each step in order. Verify the expected output of a step before moving to the next.

  1. 1Identify the failing layer: CSI driver, cephx, network, Ceph cluster
  2. 2If CSI driver: restart it; verify version compatibility
  3. 3If cephx: rotate the cephx key; update the Kubernetes secret
  4. 4If network: verify the storage network
  5. 5If Ceph cluster: see ceph-rb-investigate-mon-quorum and friends
  6. 6Verify: the Pod mounts the PVC and reads / writes correctly

4 · Verification

Confirm the procedure actually fixed the problem.

  • The PVC mounts
  • The application is running
  • The cluster is HEALTH_OK

5 · Rollback

If verification fails, undo the procedure in reverse order.

  • If the PVC is permanently Pending: recreate the PVC; check the StorageClass
  • If the CSI driver is broken: upgrade or downgrade

6 · Escalation

When the runbook isn't enough, contact:

  • · Storage team
  • · Kubernetes team

Troubleshoot Kubernetes / Ceph CSI

This runbook covers Troubleshoot Kubernetes / Ceph CSI on a Ceph Tentacle cluster.

When to use

  • Active production scenario matching the impact (service-affecting)
  • The prerequisites are met

Prerequisites

Before starting this runbook, verify each prerequisite has been met. If a prerequisite is not met, resolve it first or escalate.

  • A Kubernetes Pod cannot mount a PVC
  • The CSI driver reports errors

Pre-checks

Collect evidence before taking action. Evidence is the proof the runbook worked.

# Check the PVC: kubectl describe pvc
# Check the PV
# Check the StorageClass
# Check the CSI driver logs: kubectl logs
# Check Ceph: ceph -s
# Check the cephx credentials in the csi-rbd secret
# Check the network between Kubernetes and Ceph

Procedure

Step 1

Identify the failing layer: CSI driver, cephx, network, Ceph cluster

Step 2

If CSI driver: restart it; verify version compatibility

Step 3

If cephx: rotate the cephx key; update the Kubernetes secret

Step 4

If network: verify the storage network

Step 5

If Ceph cluster: see ceph-rb-investigate-mon-quorum and friends

Step 6

Verify: the Pod mounts the PVC and reads / writes correctly

Verification

After completing the procedure, verify the result:

# The PVC mounts
# The application is running
# The cluster is HEALTH_OK

Rollback

If the procedure does not produce the expected verification, roll back:

  • If the PVC is permanently Pending: recreate the PVC; check the StorageClass
  • If the CSI driver is broken: upgrade or downgrade

Escalation

If you cannot roll back or the rollback fails, escalate:

  • Storage team
  • Kubernetes team

References

  1. Ceph documentation