...
https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/
Persistent Volumes
Code Block | ||
---|---|---|
| ||
kind: PersistentVolume
apiVersion: v1
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/home/ubuntu/ltec-tools-data1"
ubuntu@ip-172-31-30-234:~/helm/book$ kubectl create -f hostpath-volume.yaml -n dev
persistentvolume/task-pv-volume created
ubuntu@ip-172-31-30-234:~/helm/book$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
task-pv-volume 5Gi RWO Retain Available manual 2m
|
...
Persistent Volume Claims
https://kubernetes.io/docs/concepts/storage/storage-classes/
Persistent Volumes
...
/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim
Code Block | ||
---|---|---|
| ||
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
ubuntu@ip-172-31-30-234:~/helm/book$ kubectl create -f hostpath-pvc.yaml -n dev
persistentvolumeclaim/task-pv-claim created
# check bound status
ubuntu@ip-172-31-30-234:~/helm/book$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
task-pv-volume 5Gi RWO Retain Bound dev/task-pv-claim manual 7m
ubuntu@ip-172-31-30-234:~/helm/book$ kubectl get pvc -n dev
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
task-pv-claim Bound task-pv-volume 5Gi RWO manual 1m
vi pv-pod.yaml
kind: Pod
apiVersion: v1
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
ubuntu@ip-172-31-30-234:~/helm/book$ kubectl create -f pv-pod.yaml -n dev
pod/task-pv-pod created
ubuntu@ip-172-31-30-234:~/helm/book$ kubectl get pods -n dev
NAME READY STATUS RESTARTS AGE
task-pv-pod 1/1 Running 0 53s
# test
ubuntu@ip-172-31-30-234:~$ vi tools-data1/index.html
ubuntu@ip-172-31-30-234:~/helm/book$ kubectl exec -it task-pv-pod -n dev bash
root@task-pv-pod:/# apt-get update;
apt-get install curl
root@task-pv-pod:/# curl localhost
hello world
|
Storage Classes
https://kubernetes.io/docs/concepts/storage/storage-classes/
Design Issues
Links
https://kubernetes.io/docs/concepts/storage/storage-classes/