Update pv.yaml

pull/10/head
plhw57tbe 4 months ago
parent 3cbb7029a6
commit 7fc0472a7d

@ -1,40 +1,44 @@
apiVersion: v1
kind: PersistentVolume
# 第一部分数据库MySQL专用持久卷配置
apiVersion: v1 # PV 资源使用的 Kubernetes API 版本
kind: PersistentVolume # 资源类型为持久卷PV用于提供集群级别的存储资源
metadata:
name: local-pv-db
name: local-pv-db # PV 的名称需唯一这里明确关联数据库db
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /mnt/local-storage-db
nodeAffinity:
required:
capacity: # 定义 PV 的存储容量
storage: 10Gi # 分配 10GiB 存储空间(数据库通常需要较大空间)
volumeMode: Filesystem # 卷模式Filesystem 表示以文件系统形式挂载(另一种是 Block 块设备)
accessModes: # 访问模式:定义 PV 可被如何访问
- ReadWriteOnce # 仅允许单个节点以读写方式挂载(适合数据库等需独占写入的场景)
persistentVolumeReclaimPolicy: Retain # 回收策略Retain 表示 PV 被释放后保留数据,需手动清理
storageClassName: local-storage # 存储类名称,用于与 PersistentVolumeClaimPVC匹配
local: # 声明为本地存储(使用节点上的本地磁盘,非分布式存储)
path: /mnt/local-storage-db # 本地存储的实际路径(需在对应节点上提前创建该目录)
nodeAffinity: # 节点亲和性:限制 PV 只能被特定节点使用(本地存储必须配置)
required: # 强制要求:必须满足以下条件才能使用该 PV
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
- matchExpressions: # 匹配规则
- key: kubernetes.io/hostname # 匹配节点的主机名标签
operator: In # 操作符In 表示值在指定列表中
values:
- master
---
- master # 仅允许主机名为 "master" 的节点使用该 PV
# 第二部分Django 应用静态文件专用持久卷配置
--- # 分隔符:用于在一个文件中定义多个资源
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-pv-djangoblog
name: local-pv-djangoblog # PV 名称,关联 Django 应用
spec:
capacity:
storage: 5Gi
storage: 5Gi # 分配 5GiB 存储空间(静态文件需求较小)
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
- ReadWriteOnce # 单节点读写(静态文件通常由单节点写入,多节点读取可考虑 ReadOnlyMany
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
storageClassName: local-storage # 与前面的 PV 共用同一存储类
local:
path: /mnt/local-storage-djangoblog
path: /mnt/local-storage-djangoblog # Django 静态文件的本地存储路径
nodeAffinity:
required:
nodeSelectorTerms:
@ -42,24 +46,25 @@ spec:
- key: kubernetes.io/hostname
operator: In
values:
- master
- master # 同样限制在 "master" 节点
# 第三部分:资源文件专用持久卷配置
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-pv-resource
name: local-pv-resource # PV 名称,关联通用资源文件
spec:
capacity:
storage: 5Gi
storage: 5Gi # 分配 5GiB 存储空间
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /mnt/resource/
path: /mnt/resource/ # 资源文件(如上传的图片、附件等)的本地存储路径
nodeAffinity:
required:
nodeSelectorTerms:
@ -67,23 +72,25 @@ spec:
- key: kubernetes.io/hostname
operator: In
values:
- master
- master # 限制在 "master" 节点
# 第四部分Elasticsearch 搜索引擎专用持久卷配置
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-pv-elasticsearch
name: local-pv-elasticsearch # PV 名称,关联 Elasticsearch
spec:
capacity:
storage: 5Gi
storage: 5Gi # 分配 5GiB 存储空间(用于存储 ES 索引数据)
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /mnt/local-storage-elasticsearch
path: /mnt/local-storage-elasticsearch # ES 数据的本地存储路径
nodeAffinity:
required:
nodeSelectorTerms:
@ -91,4 +98,4 @@ spec:
- key: kubernetes.io/hostname
operator: In
values:
- master
- master # 限制在 "master" 节点
Loading…
Cancel
Save