gke-storage について
gke-storageは、GKEクラスター管理者向けのストレージ運用ガイドです。ストレージの選択、CSIドライバーの設定、ボリューム拡張を扱い、StorageClassやPersistentVolumeClaimの構成と共有ストレージの注意点を説明します。
主な機能
- 01StorageClassの設定
- 02Google Cloud CSIドライバーの利用
- 03永続ボリュームの拡張
- 04ワークロードに応じたディスク選択
- 05ReadWriteManyの慎重な設定
活用シーン
- 01GKEワークロード用ストレージの選択
- 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 では、永続ディスクから Cloud Storage まで、さまざまなストレージオプションがサポートされています。パフォーマンスと信頼性を確保するには、適切なストレージタイプを選択し、正しく構成することが重要です。
ワークフロー
1. ストレージクラスを構成する
StorageClass を使用すると、提供するストレージの「クラス」を記述できます。クラスごとに、サービス品質のレベルやバックアップポリシーを割り当てることができます。
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 には、ストレージを動的にプロビジョニングするための Container Storage Interface(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 ドライバーを使用してください。
- ボリューム拡張を有効にする:容量を拡張できるよう、StorageClass では必ず
allowVolumeExpansion: trueを設定してください。 - 適切なディスクタイプを選択する:I/O 負荷の高いワークロードには
pd-ssdまたはpd-extremeを、それ以外にはpd-standardまたはpd-balancedを使用してください。 - ReadWriteMany を慎重に使用する:Filestore(NFS)は複数の Pod 間でデータを共有するのに適していますが、ファイルロックと整合性のセマンティクスに注意してください。