Kubernetes支持持久卷的存储插件:
https://kubernetes.io/docs/concepts/storage/persistent-volumes/html
一、建立pvc yaml文件
vim pvc.yamlnginx
apiVersion: v1 kind: Pod metadata: name: nginx6 spec: containers: - name: nginx6 image: nginx # 挂在点 volumeMounts: - name: wwwroot mountPath: /usr/share/nginx/html ports: - containerPort: 80 # 挂载来源 volumes: - name: wwwroot # 定义PVC persistentVolumeClaim: # 定义PVC名称 claimName: my-pvc --- apiVersion: v1 # 使用PVC类型 kind: PersistentVolumeClaim metadata: # 与容器应用PVC相同 name: my-pvc spec: # 定义读写权限 accessModes: - ReadWriteMany # 请求资源 resources: requests: # 存储空间 5G storage: 5Gi
二、建立pv yaml文件
vim pv.yamlvim
apiVersion: v1 # PV类型 kind: PersistentVolume metadata: # PV名称与PVC相同 name: my-pv spec: # 定义容量 capacity: storage: 5Gi # 读写权限 accessModes: - ReadWriteMany # nfs分配网络存储 nfs: path: /data/nfs server: 192.168.1.115
三、执行建立pv容器api
kubectl apply -f pv.yaml
四、查看建立pv
kubectl get pvbash
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE # RWX:读写模式、Available:为可用状态 my-pv 5Gi RWX Retain Available 23s
五、建立pvc容器网络
kubectl apply -f pvc.yaml
六、查看pvc建立容器
kubectl get podapp
NAME READY STATUS RESTARTS AGE
nginx6 1/1 Running 0 20s
七、查看pv与pvc状态
kubectl get pv,pvc测试
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE # Bound:已经使用以成绑定装填 persistentvolume/my-pv 5Gi RWX Retain Bound default/my-pvc 3m44s NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE # 以绑定到pv persistentvolumeclaim/my-pvc Bound my-pv 5Gi RWX 78s
八、nfs共享目录下建立一个index.htmlspa
echo "<h1>xxxxxxxxx</h1>" > /data/nfs/index.html
九、进入容器测试
kubectl exec -it nginx6 bash插件
ls /usr/share/nginx/html
index.html