配置 Pod 以使用 PersistentVolume 作为存储

最近了解这个k8s在PVC存储这儿卡了两天,今天终于算是大概搞明白是个怎么回事了。

以下是该过程的总结:

原理图

路径说明
/mnt/data本地主机上的目录
/app/wizminikube容器里的路径
/wiz/storage/pod的路径

步骤

镜像拉取

docker pull wiznote/wizserver

minikube 挂载本地目录

  • 启动挂载
minikube start --mount --mount-string="/mnt/data:/app/wiz"
  • 验证
minikube ssh
cd /app/wiz
# 创建一个文件再去主机上 /mnt/data 查看是否存在即可

PV 创建

  • 配置文件wiz-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: wiz-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/app/wiz"
  • 部署
kubectl create -f  wiz-pv.yaml
  • 查看
kubectl get pv
  • 删除
kubectl delete pv wiz-pv-volume

PVC 创建

  • 配置文件wiz-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: wiz-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
  • 部署
kubectl create -f  wiz-pvc.yaml
  • 查看
kubectl get pvc
  • 删除
kubectl delete pvc wiz-pv-claim

deployment 创建

如需了解更多,请访问: https://www.emperinter.info/2022/04/18/configure-persistent-volume-storage/