TKG サービス クラスタでは、ボリュームのスナップショットおよびリストア機能がサポートされます。DevOps ユーザーは、ボリューム スナップショットを作成して TKG クラスタ内のワークロードを保護できます。
スナップショットを使用すると、スナップショット データがあらかじめ設定された新しいボリュームをプロビジョニングできます。
前提条件
TKG サービス クラスタの CSI スナップショットを作成するには、環境が次の前提条件を満たしている必要があります。
- vSphere 8.0 Update 2 以降。
- CSI スナップショットをサポートする Tanzu Kubernetes リリース。vSphere 8.0.2 以降の場合は、TKr v1.26.5 以降です。「VMware Tanzu Kubernetes リリースのリリース ノート」を参照してください。
- 互換性のある最新の スーパーバイザー バージョン。「VMware vSphere with Tanzu 8.0 リリース ノート」を参照してください。
要件
CSI スナップショット機能は TKG パッケージとして提供されます。CSI スナップショット パッケージを使用するための要件は次のとおりです。
- TKG 標準パッケージ リポジトリ バージョン v2023.9.19 以降を使用します。Tanzu Standard パッケージ リポジトリのバージョンを参照してください。
- Cert Manager パッケージをインストールします。「Installing and Using VMware Tanzu Packages」を参照してください。
- Tanzu CLI を使用して、vsphere-pv-csi-webhook をインストールおよびデプロイします。vSphere PVCSI Webhook のインストールとデプロイを参照してください。
- Tanzu CLI を使用して external-csi-snapshot-webhook をインストールして展開します。外部 CSI スナップショット Webhook のインストールとデプロイを参照してください。
ガイドラインと制限事項
TKG クラスタでスナップショットおよびリストア機能を使用する場合は、次のガイドラインに従ってください。
- ボリュームのスナップショット操作とリストア操作をサポートするのは、ブロック ボリュームのみです。これらの操作を vSphere ファイル ボリュームで使用することはできません。
- VolumeSnapshot から PVC を作成する場合は、元の VolumeSnapshot と同じデータストアに配置する必要があります。そうしなかった場合、その PVC のプロビジョニングは失敗し、次のエラーが表示されます。
failed to provision volume with StorageClass <storage-class-name>: rpc error: code = Internal desc = failed to create volume. Error: failed to get the compatible datastore for create volume from snapshot <snapshot-name> with error: failed to find datastore with URL <datastore-url> from the input datastore list, <[datastore-list]>
VolumeSnapshot から作成するターゲット PVC のデータストアは、PVC 定義内の StorageClass によって決まります。ターゲット PVC の StorageClass と元のソース PVC の StorageClass が同じデータストア(ソース PVC のデータストア)を参照していることを確認してください。このルールは、StorageClass 定義のトポロジ要件にも適用されます。この要件では、同じ共通データストアを参照する必要もあります。トポロジ要件が競合すると、上記と同じエラーが発生します。
- 関連付けられたスナップショットを含むボリュームを削除または拡張することはできません。ソース ボリュームを拡張または削除するには、すべてのスナップショットを削除してください。
- スナップショットからボリュームを作成する場合は、ボリュームのサイズがスナップショットのサイズと一致していることを確認します。
- スナップショットでは、ストレージ割り当ての監視はサポートされていません。
- vSphere 構成では、ボリュームあたりのスナップショットの最大数を構成できません。パフォーマンスを向上させるには、仮想ディスクごとに 2 ~ 3 個のスナップショットを使用します。詳細については、「Best practices for using VMware snapshots in the vSphere environment」を参照してください。
vSAN ESA の場合は、ボリュームごとに最大 32 個のスナップショットを使用します。vSAN ESA の詳細については、「vSAN Express Storage Architecture」を参照してください。