Storage in kubernetes
- Storage in k8s revolves around the following concepts
- volume
- persistent volume
- persistent volume claim
- storage drivers
- CSI
- ACCESS Modes
- RWO
- RMWO
- RWM (shared disks)
- Refer Here for persistent volumes

- Prompt
Give me the relation between pv, pvc, storage class and csi in a simple manner
Lets create a volume
apiVersion: v1
kind: Pod
metadata:
name: alpine-pod
labels:
app: alpine-demo
spec:
containers:
- name: alpine
image: alpine:latest
command: ["sh", "-c", "echo 'Hello from Alpine Pod'; sleep 3600"]
volumeMounts:
- name: sample-vol
mountPath: /sample-directory
volumes:
- name: sample-vol
emptyDir: {}
Lets create a Config Map as volume
---
apiVersion: v1
kind: ConfigMap
metadata:
name: mysql-cm
data:
MYSQL_ROOT_PASSWORD: admin123
MYSQL_DATABASE: mydb
MYSQL_USER: myuser
MYSQL_PASSWORD: mypassword
---
apiVersion: v1
kind: Pod
metadata:
name: cm-pod
labels:
app: alpine-demo
spec:
containers:
- name: alpine
image: alpine:latest
command: ["sh", "-c", "echo 'Hello from Alpine Pod'; sleep 3600"]
volumeMounts:
- name: cm-vol
mountPath: /cm-demo
volumes:
- name: cm-vol
configMap:
name: mysql-cm