Batch on GKE ユーザーの管理

ストレージとしての Google Cloud Filestore の使用

要件

すでに Batch on GKE のインストールが完了している必要があります。

  1. 管理ツールを入手します。

    git clone https://github.com/GoogleCloudPlatform/Kbatch.git
    
  2. 管理ツール ディレクトリに移動します。

    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]
  1. [FILESTORE_FILESHARE_NAME] と [FILESTORE_SERVER_IP] の値を Filestore インスタンスの値に置き換えます。

  2. 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 インスタンス上のユーザー用の限定公開ディレクトリを作成します。

  1. filestore ディレクトリに移動します。

    cd filestore
    
  2. deploy_nfs_client_provisioner.sh を実行します。

    ./deploy_nfs_client_provisioner.sh [gke_region] [gke_cluster_name] [filestore_zone] [filestore_instance_name] [filestore_fileshare]
    
  3. ユーザーを追加し、Filestore インスタンスで設定されたディレクトリ権限に合わせて UID と GID を設定します。詳細については、限定公開 PersistentVolumeClaim を使用した新しい Batch on GKE ユーザーの追加をご覧ください。

次のステップ