第12章 オブジェクトバケットのキャッシュポリシー
キャッシュバケットは、ハブのターゲットとキャッシュターゲットが指定された namespace バケットです。ハブのターゲットは、S3 と互換性のある大規模なオブジェクトストレージバケットです。キャッシュのバケットは、ローカルの Multicloud Object Gateway (MCG) バケットです。AWS バケットまたは IBM COS バケットをキャッシュするキャッシュバケットを作成できます。
12.1. AWS キャッシュバケットの作成 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
カスタマーポータル から Multicloud Object Gateway (MCG) コマンドラインインターフェイスバイナリーをダウンロードし、実行可能にします。
注記アーキテクチャーに応じて適切な製品バリアントを選択してください。利用可能なプラットフォームは、Linux (x86_64)、Windows、Mac OS です。
手順
NamespaceStore リソースを作成します。NamespaceStore は、MCG namespace バケットでデータの読み取りおよび書き込みターゲットとして使用される基礎となるストレージを表します。MCG コマンドラインインターフェイスから、以下のコマンドを実行します。
odf noobaa namespacestore create aws-s3 <namespacestore> --access-key <AWS ACCESS KEY> --secret-key <AWS SECRET ACCESS KEY> --target-bucket <bucket-name>-
<namespacestore>を namespacestore の名前に置き換えます。 -
<AWS ACCESS KEY>および<AWS SECRET ACCESS KEY>を、作成した AWS アクセスキー ID およびシークレットアクセスキーに置き換えます。 <bucket-name>を既存の AWS バケット名に置き換えます。この引数は、MCG に対して、バッキングストア、およびその後のデータストレージおよび管理のためのターゲットバケットとして使用するバケットについて指示します。YAML を適用してストレージリソースを追加することもできます。まず、認証情報を使用してシークレットを作成します。
apiVersion: v1 kind: Secret metadata: name: <namespacestore-secret-name> type: Opaque data: AWS_ACCESS_KEY_ID: <AWS ACCESS KEY ID ENCODED IN BASE64> AWS_SECRET_ACCESS_KEY: <AWS SECRET ACCESS KEY ENCODED IN BASE64>Base64 を使用して独自の AWS アクセスキー ID およびシークレットアクセスキーを指定し、エンコードし、その結果を
<AWS ACCESS KEY ID ENCODED IN BASE64>および<AWS SECRET ACCESS KEY ENCODED IN BASE64>に使用する必要があります。<namespacestore-secret-name>を一意の名前に置き換えます。次に、以下の YAML を適用します。
apiVersion: noobaa.io/v1alpha1 kind: NamespaceStore metadata: finalizers: - noobaa.io/finalizer labels: app: noobaa name: <namespacestore> namespace: openshift-storage spec: awsS3: secret: name: <namespacestore-secret-name> namespace: <namespace-secret> targetBucket: <target-bucket> type: aws-s3-
<namespacestore>を一意の名前に置き換えます。 -
<namespacestore-secret-name>を、直前の手順で作成されたシークレットに置き換えます。 -
<namespace-secret>を、直前の手順でシークレットを作成するために使用された namespace に置き換えます。 -
<target-bucket>を namespacestore 用に作成した AWS S3 バケットに置き換えます。
-
以下のコマンドを実行してバケットクラスを作成します。
odf noobaa bucketclass create namespace-bucketclass cache <my-cache-bucket-class> --backingstores <backing-store> --hub-resource <namespacestore>-
<my-cache-bucket-class>を一意のバケットクラス名に置き換えます。 -
<backing-store>を関連するバッキングストアに置き換えます。コンマで区切られた 1 つ以上のバッキングストアをリスト表示できます。 -
<namespacestore>を、直前の手順で作成された namespacestore に置き換えます。
-
以下のコマンドを実行して、手順 2 に定義されたバケットクラスを使用する Object Bucket Claim (OBC) リソースを使用してバケットを作成します。
$ odf noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>-
<my-bucket-claim>を一意の名前に置き換えます。 -
<custom-bucket-class>を、手順 2 で作成したバケットクラスの名前に置き換えます。
-