Storage
Get default StorageClass name
oc get sc -o jsonpath='{.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}'
Unbound an existing pvc from one pod to be used by another pod and retaining data
- Scale pods to 0
oc scale --replicas=0 deployment/victoria
- Edit deployment and delete volumes that make a reference to pvc
oc edit deployment/victoria
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "7"
kubectl.kubernetes.io/last-applied-configuration: |
...
spec:
containers:
- args:
- -selfScrapeInterval=10s
- -dedup.minScrapeInterval=60s
image: victoriametrics/victoria-metrics
imagePullPolicy: Always
name: victoria
ports:
- containerPort: 8428
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /victoria-metrics-data
name: victoria-data
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: victoria-data
persistentVolumeClaim:
claimName: pvc-victoria-data2
- Remove claimRef to pvc on pv and make sure persistentVolumeReclaimPolicy: Retain
oc edit pv/pv-victoria-data
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
...
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: pvc-victoria-data2
namespace: victoria
resourceVersion: "33452972"
uid: 9d4fb2ac-b09d-4110-b337-1d93a34279f7
nfs:
path: /export/data
server: helper.ocp4.info.net
persistentVolumeReclaimPolicy: Retain
volumeMode: Filesystem
status:
phase: Bound
- Make sure PV is available
oc get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pv-victoria-data 10Gi RWX Retain Available
At this point PV is ready to be used by another pod