关于 gke-storage
gke-storage 是面向 GKE 集群管理者的存储实践指南,涵盖存储类型选择、CSI 驱动配置和卷扩容。内容以 StorageClass、PersistentVolumeClaim 配置及共享存储注意事项为重点。
主要功能
- 01配置 StorageClass
- 02使用 Google Cloud CSI 驱动
- 03扩展持久卷
- 04按工作负载选择磁盘类型
- 05谨慎配置 ReadWriteMany
适用场景
- 01为 GKE 工作负载选择存储类型
- 02配置动态存储供给
- 03扩容现有持久卷
- 04在多个 Pod 间共享文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ googlecloudplatform/ gke-mcp --skill gke-storage安装后在 Claude Code 中输入/gke-storage确认已加载。
详细介绍
GKE 存储最佳实践
本技能提供在 Google Kubernetes Engine(GKE)集群中管理存储的指导。
概述
GKE 支持多种存储选项,从 Persistent Disks 到 Cloud Storage。选择合适的存储类型并正确配置,对性能和可靠性至关重要。
工作流
1. 配置 StorageClasses
StorageClasses 用于描述你提供的存储“类别”。不同类别可以对应不同的服务质量等级或备份策略。
StorageClass 清单示例:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: premium-rwo
provisioner: pd.csi.storage.gke.io
parameters:
type: pd-ssd
replication-type: regional-pd
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
强烈建议在生产环境中设置 allowVolumeExpansion: true。
2. 使用 CSI 驱动程序
GKE 提供容器存储接口(CSI)驱动程序,用于动态配置存储。
- Compute Engine Persistent Disk CSI Driver:块存储的默认驱动程序。
- Google Cloud Filestore CSI Driver:用于托管 NFS(ReadWriteMany)。
- Cloud Storage FUSE CSI Driver:用于将 GCS 存储桶挂载为卷。
使用 Filestore CSI Driver 的示例:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: filestore-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: standard-rwm # Pre-defined for Filestore
resources:
requests:
storage: 1Ti
3. 实施卷扩容
如果 StorageClass 中的 allowVolumeExpansion 为 true,你可以通过更新 PVC 清单来调整卷大小。
步骤:
- 编辑 PVC 清单并增加存储请求量。
- 应用更改。
Kubernetes 会自动调整卷上的文件系统大小。
最佳实践
- 使用 CSI 驱动程序:始终使用官方 Google Cloud CSI 驱动程序,以获得最佳集成效果和性能。
- 启用卷扩容:始终在 StorageClasses 中设置
allowVolumeExpansion: true,以便扩容。 - 选择合适的磁盘类型:对 I/O 密集型工作负载使用
pd-ssd或pd-extreme,其他工作负载则使用pd-standard或pd-balanced。 - 谨慎使用 ReadWriteMany:Filestore(NFS)非常适合在多个 Pod 之间共享数据,但请注意文件锁定和一致性语义。
评论
支持 Markdown