Object Storage API は Kubernetes カスタム リソースを使用し、Kubernetes リソースモデルに依存します。API は、オブジェクト ストレージ リソースのプロビジョニングと管理に使用されます。これらは、特定の組織内のオブジェクト ストレージ リソースのライフサイクル(バケットの作成、読み取り、更新、削除など)を管理するために使用されます。API は、バケットのリスト表示、バケットの保持ポリシーの設定、バケットのストレージ クラスの設定にも使用されます。ファイル ストレージとブロック ストレージは、標準の Kubernetes API で管理されます。
サービス エンドポイントとディスカバリ ドキュメント
Storage KRM API は、ゾーン デプロイまたはグローバル デプロイに応じて 3 つのパッケージで提供されます。
ゾーン API とグローバル Storage API の API エンドポイントは、それぞれ次のとおりです。
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/object.gdc.goog/v1https://MANAGEMENT_API_SERVER_ENDPOINT/apis/object.global.gdc.goog/v1https://MANAGEMENT_API_SERVER_ENDPOINT/apis/storage.global.gdc.goog/v1
MANAGEMENT_API_SERVER_ENDPOINT 変数は、Management API サーバーのエンドポイントです。
kubectl proxy コマンドを使用すると、ブラウザまたは curl などのツールでその URL にアクセスして、Object Storage API のディスカバリ ドキュメントを取得できます。kubectl proxy コマンドは、ローカルマシンで Kubernetes API サーバーへのプロキシを開きます。このコマンドを実行すると、次の URL でドキュメントにアクセスできます。
http://127.0.0.1:8001/apis/object.gdc.goog/v1http://127.0.0.1:8001/apis/object.global.gdc.goog/v1http://127.0.0.1:8001/apis/storage.global.gdc.goog/v1
S3 REST API の概要
Google Distributed Cloud(GDC)エアギャップ オブジェクト ストレージ XML API は、オブジェクト ストレージ データをプログラムで管理できる RESTful インターフェースです。RESTful API として、実行するオペレーションを定義するためにメソッドとスコープ情報を使用します。
- メソッド情報。メソッド情報は、
DELETE、GET、HEAD、PUTなどの標準 HTTP メソッドで指定します。 - スコープ情報。スコーピング情報は、アクセス可能なエンドポイント(URI)とさまざまなスコーピング パラメータで指定します。XML API の場合、主なスコープ設定パラメータはバケット名とオブジェクト名です。HTTP ヘッダーとクエリ文字列パラメータを使用して、オペレーションのスコープをさらに絞り込みます。
ボリューム ストレージ API の概要
GDC 内の ONTAP ストレージとのやり取りは、すべて Kubernetes ストレージ プリミティブを介して行われます。永続ボリュームを作成するには、Kubernetes ドキュメント(https://kubernetes.io/docs/concepts/storage/persistent-volumes/)に記載されている手順に沿って操作します。ONTAP Trident ドライバは、Container Storage Interface(CSI)プロトコルを実装し、永続ボリュームのエンドユーザーには不透明な ONTAP システム内のボリュームをプロビジョニングしてオーケストレートします。
GDC は、standard-rwo タイプの単一のストレージ クラスをサポートしています。ストレージ クラスの詳細については、https://kubernetes.io/docs/concepts/storage/storage-classes/ をご覧ください。
この standard-rwo タイプのストレージ クラスは、ontap-san Trident バックエンドによってサポートされています。
Persistent Volume Claim の例:
Name: my_volume
Namespace: my_namespace
StorageClass: standard-rwo
Annotations: volume.beta.kubernetes.io/storage-provisioner: csi.trident.netapp.io
volume.kubernetes.io/storage-provisioner: csi.trident.netapp.io
Finalizers: [kubernetes.io/pvc-protection]
Capacity: 150Gi
Access Modes: RWO
VolumeMode: Filesystem