PersistentVolume, PersistentVolumeClaim, volumes using hostPath

pv.yaml

kind: PersistentVolume
apiVersion: v1
metadata:
  name: hostpath
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/tmp/devopsschool"

$ kubectl create -f pv.yaml
$ kubectl get pv

pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvchostpath
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

$ kubectl create -f pvc.yaml
$ kubectl get pvc

pod.yaml

kind: Pod
apiVersion: v1
metadata:
  name: task-pv-pod
spec:
  containers:
    - name: task-pv-container
      image: scmgalaxy/nginx-devopsschoolv1
      ports:
        - containerPort: 80
          name: "http-server"
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: task-pv-storage
  volumes:
    - name: task-pv-storage
      persistentVolumeClaim:
        claimName: pvchostpath

$ kubectl create -f pod.yaml
$ kubectl get pods -o wide
$ vi /tmp/devopsschool/index.html
$ curl http://ip-add