1、创建pv文件(本文使用nfs做共享存储)
[root@harbor tmp]# cat pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
path: /dump_file/tmp_test
server: 172.21.53.202
2、创建pvc文件
[root@harbor tmp]# cat pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs
spec:
accessModes:
- ReadWriteOnce
storageClassName: manual
resources:
requests:
storage: 1Gi
3、查看是否创建成功并绑定
[root@harbor tmp]# kubectl get pv,pvc
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/nfs 1Gi RWO Recycle Bound default/nfs manual 32m
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/nfs Bound nfs 1Gi RWO manual 30m
说明:以上信息可以看出pv和pvc已经成功绑定
4、创建pod测试是否能够正常挂载
[root@harbor opt]# cat nginx-test_deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx
name: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
resources:
requests:
cpu: "50m"
memory: "30Mi"
limits:
cpu: "50m"
memory: "30Mi"
volumeMounts:
- name: local-time
mountPath: /etc/localtime
- name: nfs
mountPath: "/usr/share/nginx/html"
volumes:
- name: local-time
hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai
- name: nfs
persistentVolumeClaim:
claimName: nfs
5、查看是否创建成功
[root@harbor opt]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-645976f55b-rzk4n 1/1 Running 0 15m
说明:pod已成功创建