ストレージとしての Google Cloud Filestore の使用
要件
Batch on GKE をインストールしている必要があります。
管理ツールを入手します。
git clone https://github.com/GoogleCloudPlatform/Kbatch.git
管理ツール ディレクトリに移動します。
cd admintools
ユーザー向けのストレージ オプションとして Filestore をセットアップする
GKE クラスタの入出力用ノードの場所と同じゾーンで Google Filestore インスタンスを作成します。
PersistentVolume を作成する
次の persistentvolume.yaml は、Filestore でホストされる PersistentVolume を記述したものです。
apiVersion: v1 kind: PersistentVolume metadata: name: pv spec: storageClassName: nfs capacity: storage: 1T accessModes: - ReadWriteMany nfs: path: [/FILESTORE_FILESHARE_NAME] server: [FILESTORE_SERVER_IP]
[FILESTORE_FILESHARE_NAME] と [FILESTORE_SERVER_IP] の値を Filestore インスタンスの値に置き換えます。
YAML ファイルから Filestore の PersistentVolume を作成します。
kubectl create -f persistentvolume.yaml
PersistentVolumeClaim を作成する
次の persistentvolumeclaim.yaml は、PersistentVolumeClaim を記述したものです。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc namespace: default spec: accessModes: - ReadWriteMany storageClassName: nfs resources: requests: storage: 1T
YAML ファイルから Filestore の PersistentVolumeClaim を作成します。
kubectl create -f persistentvolumeclaim.yaml
限定公開ディレクトリの作成
限定公開ディレクトリは、ディレクトリを読み書きするための唯一の権限をユーザーに付与します。
NFS 自動プロビジョナーをインストールして、Filestore インスタンス上のユーザー用の限定公開ディレクトリを作成します。
filestore ディレクトリに移動します。
cd filestore
deploy_nfs_client_provisioner.sh を実行します。
./deploy_nfs_client_provisioner.sh [gke_region] [gke_cluster_name] [filestore_zone] [filestore_instance_name] [filestore_fileshare]
ユーザーを追加し、Filestore インスタンスで設定されたディレクトリ権限に合わせて UID と GID を設定します。詳細については、限定公開 PersistentVolumeClaim を使用した新しい Batch on GKE ユーザーの追加をご覧ください。