Mongodb HostPath PV与PVC示例 电脑版发表于:2020/5/12 16:26  >#Mongodb HostPath PV与PVC示例 [TOC] <br/> Persistent Volume 简介 ------------ <br/> >可以做分布式存储的抽象层 特点 - 可以对Pod进行解耦 ... <br/>  <br/> Persistent Volume Claim 简介 ------------ <br/> >Persistent Volume Claim 用来挂载持久化磁盘的。PersistentVolumes是用户在不知道特定云环境的细节的情况下,实现持久化存储(如GCE PersistentDisk或iSCSI卷)的一种方式。 <br> >更多存储相关请参考:`http://docs.kubernetes.org.cn/429.html#persistentVolumeClaim` <br/> 实践案例 ------------ <br/> >###实践目的 <br/> - 创建一个基于hostpath的本地PersistentVolum - 创建持久卷声明 - 在Pod中引用持久卷声明 <br/> >###Yaml文件内容 <br/> >>mongo-pv.yaml ```yaml apiVersion: v1 kind: PersistentVolume metadata: name: mongodb-pv spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce - ReadOnlyMany persistentVolumeReclaimPolicy: Retain hostPath: path: /tmp/mongodb ``` >>mongo-pvc.yaml ```yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mongodb-pvc spec: resources: requests: storage: 500m accessModes: - ReadWriteOnce storageClassName: "" ``` >>mongo-pod-pvc.yaml ```yaml apiVersion: v1 kind: Pod metadata: name: mongodb spec: containers: - image: mongo name: mongodb volumeMounts: - name: mongodb-data mountPath: /data/db ports: - containerPort: 27017 protocol: TCP volumes: - name: mongodb-data persistentVolumeClaim: claimName: mongodb-pvc ``` >>mongo-svc-nodeport.yaml ```yaml apiVersion: v1 kind: Service metadata: name: mongodb spec: selector: app: mongodb type: NodePort ports: - protocol: TCP port: 27017 targetPort: 27017 ``` <br/> >发布后不管pod是否被删除,资源仍然在!