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

ネームスペース全体でボリュームをクローニング

共同作成者

Tridentを使用すると、同じKubernetesクラスタ内の別のネームスペースから既存のボリュームまたはボリュームSnapshotを使用して新しいボリュームを作成できます。

前提条件

ボリュームをクローニングする前に、ソースとデスティネーションのバックエンドのタイプとストレージクラスが同じであることを確認してください。

クイックスタート

ボリュームクローニングはわずか数ステップでセットアップできます。

1つボリュームのクローンを作成するためのソースPVCの設定

ソースネームスペースの所有者は、ソースPVCのデータにアクセスする権限を付与します。

2 つ デスティネーションネームスペースにCRを作成する権限を付与します

クラスタ管理者が、デスティネーションネームスペースの所有者にTridentVolumeReference CRを作成する権限を付与します。

3つ デスティネーションネームスペースにTridentVolumeReferenceを作成します

宛先名前空間の所有者は、送信元PVCを参照するためにTridentVolumeReference CRを作成します。

4.デスティネーションネームスペースにクローンPVCを作成します。

宛先ネームスペースの所有者は、PVCを作成して、送信元ネームスペースからPVCを複製します。

ソースネームスペースとデスティネーションネームスペースを設定します

セキュリティを確保するために、ネームスペース間でボリュームをクローニングするには、ソースネームスペースの所有者、クラスタ管理者、およびデスティネーションネームスペースの所有者が協力して対処する必要があります。ユーザロールは各手順で指定します。

手順
  1. ソースネームスペース所有者:(pvc1`ソースネームスペースにPVCを作成(`namespace1)。注釈(namespace2`を使用して、デスティネーションネームスペースと共有する権限を付与します。 `cloneToNamespace

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc1
      namespace: namespace1
      annotations:
        trident.netapp.io/cloneToNamespace: namespace2
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: trident-csi
      resources:
        requests:
          storage: 100Gi

    Tridentは、PVとそのバックエンドストレージボリュームを作成します。

    メモ
    • カンマ区切りリストを使用して、複数の名前空間にPVCを共有できます。たとえば、 `trident.netapp.io/cloneToNamespace: namespace2,namespace3,namespace4`です。

    • を使用して、すべてのネームスペースと共有できます *。例えば、 trident.netapp.io/cloneToNamespace: *

    • PVCはいつでも更新してアノテーションを含めることができます cloneToNamespace

  2. *クラスタ管理者:*カスタムロールとkubeconfigを作成して、デスティネーションネームスペースの所有者にTridentVolumeReference CRをデスティネーションネームスペースに作成する権限を付与し(`namespace2`ます)。

  3. *デスティネーションネームスペース所有者:*ソースネームスペースを参照するデスティネーションネームスペースにTridentVolumeReference CRを作成します pvc1

    apiVersion: trident.netapp.io/v1
    kind: TridentVolumeReference
    metadata:
      name: my-first-tvr
      namespace: namespace2
    spec:
      pvcName: pvc1
      pvcNamespace: namespace1
  4. 宛先ネームスペースの所有者:(pvc2`宛先ネームスペースに `cloneFromNamespace`PVCを作成(`namespace2)。または cloneFromSnapshot`アノテーションを使用して、送信元PVCを指定します `cloneFromPVC

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      annotations:
        trident.netapp.io/cloneFromPVC: pvc1
        trident.netapp.io/cloneFromNamespace: namespace1
      name: pvc2
      namespace: namespace2
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: trident-csi
      resources:
        requests:
          storage: 100Gi

制限

  • ONTAP NASエコノミードライバを使用してプロビジョニングされたPVCでは、読み取り専用クローンはサポートされません。