Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Google Cloud NetApp Volumes を設定

共同作成者 netapp-aruldeepa joan-ing netapp-mwallis

Google Cloud NetApp Volumes を Trident のバックエンドとして設定し、Kubernetes ワークロード用のストレージをプロビジョニングできます。

概要

Trident は、NAS(NFS および SMB)とブロック(iSCSI)ワークロードの両方で Google Cloud NetApp Volumes をサポートしています。

  • NASワークロードは `google-cloud-netapp-volumes`バックエンドを使用します

  • ブロック(iSCSI)ワークロードは `google-cloud-netapp-volumes-san`バックエンドを使用します

NASボリュームはファイルベースのストレージを提供し、NFSまたはSMBプロトコルを使用してアクセスされます。これらのボリュームは、複数のポッドまたはノード間での共有アクセスをサポートします。

ブロックボリュームは生のブロックストレージを提供し、Kubernetesノードに接続されたiSCSIデバイスとしてアクセスされます。これらのボリュームは、アプリケーションがブロックレベルのアクセスを必要とする場合に使用されます。

これは次の環境に適用されます:

  • Trident 26.02以降

  • Google Kubernetes Engine(GKE)または Red Hat OpenShift

  • Google Cloud NetApp Volumes ストレージプール

ブロック(iSCSI)ストレージを構成するには、ブロックストレージ(iSCSI)を設定するを参照してください。

設定を準備

Cloud IDを使用すると、Kubernetesワークロードは静的な認証情報を使用する代わりに、ワークロードIDとして認証することでGoogle Cloudリソースにアクセスできるようになります。

Google Cloud NetApp Volumes でクラウド ID を使用するには、次のものが必要です:

  • Google Kubernetes Engine(GKE)を使用してデプロイされた Kubernetes クラスタ

  • GKE クラスタでワークロード ID が有効になっており、ノード プールでメタデータ サーバーが有効になっている

  • Google Cloud NetApp Volumes Admin ロールを持つ Google Cloud サービスアカウント(`roles/netapp.admin`または同等のカスタムロール

  • Tridentがインストールされ、クラウド プロバイダが `GCP`に設定され、クラウドIDアノテーションが設定されている

Trident オペレータ

Trident オペレータを使用して Trident をインストールするには、 `tridentorchestrator_cr.yaml`を編集します:

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  namespace: trident
  cloudProvider: "GCP"
  cloudIdentity: "iam.gke.io/gcp-service-account: cloudvolumes-admin-sa@mygcpproject.iam.gserviceaccount.com"
Helm

Helmを使用してTridentをインストールする際に、クラウド プロバイダとクラウドIDを設定します:

helm install trident trident-operator-100.6.0.tgz \
  --set cloudProvider=GCP \
  --set cloudIdentity="iam.gke.io/gcp-service-account: cloudvolumes-admin-sa@mygcpproject.iam.gserviceaccount.com"
Tridentctl

クラウド プロバイダとクラウドIDを指定してTridentをインストールします:

tridentctl install \
  --cloud-provider=GCP \
  --cloud-identity="iam.gke.io/gcp-service-account: cloudvolumes-admin-sa@mygcpproject.iam.gserviceaccount.com" \
  -n trident

NASストレージの設定

ドライバの詳細

Trident は、Google Cloud NetApp Volumes から NAS ストレージをプロビジョニングするための `google-cloud-netapp-volumes`ドライバを提供します。

ドライバーは次のアクセス モードをサポートしています:

  • ReadWriteOnce(RWO)

  • ReadOnlyMany(ROX)

  • ReadWriteMany(RWX)

  • ReadWriteOncePod(RWOP)

ドライバ プロトコル ボリュームモード サポートされているアクセスモード サポートされるファイルシステム

google-cloud-netapp-volumes

NFS SMB

ファイルシステム

RWO、ROX、RWX、RWOP

nfssmb

Trident NAS バックエンドを設定する

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: gcnv-nas
  namespace: trident
spec:
  version: 1
  storageDriverName: google-cloud-netapp-volumes
  projectNumber: "<project-number>"
  location: "<region>"
  sdkTimeout: "600"
  storage:
  - labels:
      cloud: gcp
    network: "<vpc-network>"

NAS ボリュームのプロビジョニング

NASボリュームは、 `google-cloud-netapp-volumes`バックエンドを使用してプロビジョニングされ、NFSおよびSMBプロトコルをサポートします。

NFS ボリューム用の StorageClass

NFS ボリュームをプロビジョニングするには、 `nasType`を `nfs`に設定します。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gcnv-nfs
provisioner: csi.trident.netapp.io
parameters:
  backendType: "google-cloud-netapp-volumes"
  trident.netapp.io/nasType: "nfs"
allowVolumeExpansion: true

SMBボリューム用のStorageClass

SMB ボリュームをプロビジョニングするには、 `nasType`を `smb`に設定してクレデンシャルを指定します。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gcnv-smb
provisioner: csi.trident.netapp.io
parameters:
  backendType: "google-cloud-netapp-volumes"
  trident.netapp.io/nasType: "smb"
  csi.storage.k8s.io/node-stage-secret-name: "smbcreds"
  csi.storage.k8s.io/node-stage-secret-namespace: "default"
allowVolumeExpansion: true

PersistentVolumeClaim の例(RWX)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gcnv-nas-rwx
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 100Gi
  storageClassName: gcnv-nfs

PersistentVolumeClaim の例(RWO)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gcnv-nas-rwo
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Gi
  storageClassName: gcnv-nfs
メモ NASボリュームは `volumeMode: Filesystem`を使用します。