本产品推出了新版本。
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。
配置卷
贡献者
建议更改
创建一个使用已配置的Kubernetes StorageClass来请求对PV的访问的永久性卷(PV)和永久性卷克莱姆(PVC)。然后、您可以将PV挂载到POD。
概述
A "PersigentVolume" (PV)是由集群管理员在Kubbernetes集群上配置的物理存储资源。 "PersigentVolumeClaim"(PVC)是指请求访问集群上的永久卷。
可以将PVC配置为请求特定大小的存储或访问模式。通过使用关联的StorageClass,集群管理员可以控制不限于持续卷大小和访问模式(例如性能或服务级别)。
创建PV和PVC后、您可以将卷挂载到Pod中。
示例清单
PerfsentVolume示例清单
此示例清单文件显示了与StorageClass关联的10gi的基本PV basic-csi
。
apiVersion: v1 kind: PersistentVolume metadata: name: pv-storage labels: type: local spec: storageClassName: basic-csi capacity: storage: 10Gi accessModes: - ReadWriteOnce hostPath: path: "/my/host/path"
PersentVolumeClaim示例清单
这些示例显示了基本的PVC配置选项。
PVC、带读取器
此示例显示了一个具有读取权限的基本PVC,该PVC与名为的StorageClass关联 basic-csi
。
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: basic-csi
采用NVMe/TCP的PVC
此示例显示了与名为的StorageClass关联的具有读取权限的NVMe/TCP的基本PVC protection-gold
。
--- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-san-nvme spec: accessModes: - ReadWriteOnce resources: requests: storage: 300Mi storageClassName: protection-gold
POD清单示例
这些示例显示了将PVC连接到POD的基本配置。
基本配置
kind: Pod apiVersion: v1 metadata: name: pv-pod spec: volumes: - name: pv-storage persistentVolumeClaim: claimName: basic containers: - name: pv-container image: nginx ports: - containerPort: 80 name: "http-server" volumeMounts: - mountPath: "/my/mount/path" name: pv-storage
基本NVMe/TCP配置
--- apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx name: nginx spec: containers: - image: nginx name: nginx resources: {} volumeMounts: - mountPath: "/usr/share/nginx/html" name: task-pv-storage dnsPolicy: ClusterFirst restartPolicy: Always volumes: - name: task-pv-storage persistentVolumeClaim: claimName: pvc-san-nvme
创建PV和PVC
步骤
-
创建PV。
kubectl create -f pv.yaml
-
验证PV状态。
kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pv-storage 4Gi RWO Retain Available 7s
-
创建PVC。
kubectl create -f pvc.yaml
-
验证PVC状态。
kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 2Gi RWO 5m
-
将卷挂载到Pod中。
kubectl create -f pv-pod.yaml
您可以使用监控进度 kubectl get pod --watch
。 -
验证卷是否已挂载在上
/my/mount/path
。kubectl exec -it task-pv-pod -- df -h /my/mount/path
-
现在、您可以删除Pod。Pod应用程序将不再存在、但卷将保留。
kubectl delete pod task-pv-pod
有关存储类如何与和参数交互以控制Astra Trident如何配置卷的详细信息 PersistentVolumeClaim
、请参见"Kubernetes 和 Trident 对象"。