Kubernetes容器存储
K8s CSI 驱动架构:
┌─────────────────────────────────────────────────────────────┐
│ Kubernetes 集群 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Pod 1 Pod 2 Pod 3 │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ Container │ │ Container │ │ Container │ │ │
│ │ │ /data │ │ /data │ │ /data │ │ │
│ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ │
│ │ └──────────────────┼─────────────────┘ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────┐ │ │
│ │ │ JuiceFS CSI │ │ │
│ │ │ Controller │ │ │
│ │ └──────────┬──────────┘ │ │
│ │ │ │ │
│ │ ┌──────────┴──────────┐ │ │
│ │ │ JuiceFS Node │ │ │
│ │ │ (每个节点) │ │ │
│ │ └──────────┬──────────┘ │ │
│ └────────────────────────────┼─────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ JuiceFS Mount │ │
│ │ (POSIX 文件系统) │ │
│ └─────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ 对象存储 │ │
│ │ (S3/OSS/COS/MinIO) │ │
│ └─────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
PVC示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| apiVersion: v1 kind: PersistentVolumeClaim metadata: name: juicefs-pvc spec: accessModes: - ReadWriteMany storageClassName: juicefs-sc resources: requests: storage: 100Gi --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: juicefs-sc provisioner: csi.juicefs.com parameters: CSI PROVISIONER SECRET: juicefs-provisioner-secret CSI NODE STAGE SECRET: juicefs-node-secret CONTEXT: '{"subpath":"/"}'
|