From 680adcd420b0c0a716be7fbae15e7e6c7c673f0b Mon Sep 17 00:00:00 2001 From: plhw57tbe <2723863608@qq.com> Date: Sun, 19 Oct 2025 22:44:11 +0800 Subject: [PATCH] Update pvc.yaml --- src/DjangoBlog-master/deploy/k8s/pvc.yaml | 60 +++++++++++++---------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/src/DjangoBlog-master/deploy/k8s/pvc.yaml b/src/DjangoBlog-master/deploy/k8s/pvc.yaml index ef238c5..b1cff4b 100644 --- a/src/DjangoBlog-master/deploy/k8s/pvc.yaml +++ b/src/DjangoBlog-master/deploy/k8s/pvc.yaml @@ -1,60 +1,66 @@ -apiVersion: v1 -kind: PersistentVolumeClaim +# 第一部分:数据库(MySQL)持久卷声明(PVC) +# PVC 用于向 Kubernetes 请求存储资源,需与 PV 匹配后才能供 Pod 使用 +apiVersion: v1 # PVC 资源对应的 Kubernetes API 版本 +kind: PersistentVolumeClaim # 资源类型为持久卷声明(PVC) metadata: - name: db-pvc - namespace: djangoblog + name: db-pvc # PVC 名称,需与数据库 Deployment 中引用的 PVC 名称一致 + namespace: djangoblog # 所属命名空间,与数据库 Deployment、对应 PV 保持一致(资源隔离) spec: - storageClassName: local-storage - volumeName: local-pv-db - accessModes: - - ReadWriteOnce - resources: + storageClassName: local-storage # 存储类名称,必须与目标 PV 的 storageClassName 完全匹配(用于筛选 PV) + volumeName: local-pv-db # 显式指定绑定的 PV 名称(强制绑定,非必填;不指定则按条件自动匹配) + accessModes: # 访问模式,需与目标 PV 的 accessModes 兼容(否则无法绑定) + - ReadWriteOnce # 单节点读写模式,与数据库 PV 的访问模式一致(满足数据库独占写入需求) + resources: # 存储资源请求,定义需要的存储容量 requests: - storage: 10Gi + storage: 10Gi # 请求 10GiB 存储空间,需小于或等于目标 PV 的 capacity(此处与 db PV 容量完全匹配) ---- +# 第二部分:Django 应用静态文件持久卷声明(PVC) +--- # 资源分隔符,用于在单个文件中定义多个 Kubernetes 资源 apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: djangoblog-pvc + name: djangoblog-pvc # PVC 名称,需与 Django Deployment 中 volumeMounts 引用的 PVC 名称一致 namespace: djangoblog spec: - volumeName: local-pv-djangoblog - storageClassName: local-storage + volumeName: local-pv-djangoblog # 显式绑定 Django 应用专用 PV + storageClassName: local-storage # 与 Django 应用 PV 的存储类一致 accessModes: - - ReadWriteOnce + - ReadWriteOnce # 单节点读写,与 Django 应用 PV 访问模式匹配 resources: requests: - storage: 5Gi + storage: 5Gi # 请求 5GiB 存储空间,与 Django 应用 PV 容量一致(用于存储静态文件) + +# 第三部分:资源文件(如上传附件、图片)持久卷声明(PVC) --- apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: resource-pvc + name: resource-pvc # PVC 名称,需与 Django、Nginx Deployment 中引用的资源卷 PVC 名称一致 namespace: djangoblog spec: - volumeName: local-pv-resource - storageClassName: local-storage + volumeName: local-pv-resource # 显式绑定资源文件专用 PV + storageClassName: local-storage # 与资源文件 PV 的存储类一致 accessModes: - - ReadWriteOnce + - ReadWriteOnce # 单节点读写,与资源文件 PV 访问模式匹配 resources: requests: - storage: 5Gi + storage: 5Gi # 请求 5GiB 存储空间,与资源文件 PV 容量一致 + +# 第四部分:Elasticsearch(搜索引擎)持久卷声明(PVC) --- apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: elasticsearch-pvc + name: elasticsearch-pvc # PVC 名称,需与 Elasticsearch Deployment 中引用的 PVC 名称一致 namespace: djangoblog spec: - volumeName: local-pv-elasticsearch - storageClassName: local-storage + volumeName: local-pv-elasticsearch # 显式绑定 Elasticsearch 专用 PV + storageClassName: local-storage # 与 Elasticsearch PV 的存储类一致 accessModes: - - ReadWriteOnce + - ReadWriteOnce # 单节点读写,与 Elasticsearch PV 访问模式匹配 resources: requests: - storage: 5Gi - \ No newline at end of file + storage: 5Gi # 请求 5GiB 存储空间,与 Elasticsearch PV 容量一致(用于存储索引数据) \ No newline at end of file