OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
第11章 オブジェクトバケットのキャッシュポリシー
キャッシュバケットは、ハブのターゲットとキャッシュターゲットが指定された namespace バケットです。ハブのターゲットは、S3 と互換性のある大規模なオブジェクトストレージバケットです。キャッシュのバケットは、ローカルの Multicloud Object Gateway (MCG) バケットです。AWS バケットまたは IBM COS バケットをキャッシュするキャッシュバケットを作成できます。
11.1. AWS キャッシュバケットの作成 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
Multicloud Object Gateway (MCG) コマンドラインインターフェイスをダウンロードします。
subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms yum install mcg
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms # yum install mcgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記サブスクリプションマネージャーを使用してリポジトリーを有効にするための適切なアーキテクチャーを指定します。IBM Z インフラストラクチャーの場合は、以下のコマンドを使用します。
subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、MCG パッケージを、https://access.redhat.com/downloads/content/547/ver=4/rhel---8/4/x86_64/package にある OpenShift Data Foundation RPM からインストールできます。
注記お使いのアーキテクチャーに応じて、正しい製品バリアントを選択します。
手順
NamespaceStore リソースを作成します。NamespaceStore は、MCG namespace バケットでデータの読み取りおよび書き込みターゲットとして使用される基礎となるストレージを表します。MCG コマンドラインインターフェイスから、以下のコマンドを実行します。
noobaa namespacestore create aws-s3 <namespacestore> --access-key <AWS ACCESS KEY> --secret-key <AWS SECRET ACCESS KEY> --target-bucket <bucket-name>
noobaa namespacestore create aws-s3 <namespacestore> --access-key <AWS ACCESS KEY> --secret-key <AWS SECRET ACCESS KEY> --target-bucket <bucket-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<namespacestore>を namespacestore の名前に置き換えます。 -
<AWS ACCESS KEY>および<AWS SECRET ACCESS KEY>を、作成した AWS アクセスキー ID およびシークレットアクセスキーに置き換えます。 <bucket-name>を既存の AWS バケット名に置き換えます。この引数は、MCG に対して、バッキングストア、およびその後のデータストレージおよび管理のためのターゲットバケットとして使用するバケットについて指示します。YAML を適用してストレージリソースを追加することもできます。まず、認証情報を使用してシークレットを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Base64 を使用して独自の AWS アクセスキー ID およびシークレットアクセスキーを指定し、エンコードし、その結果を
<AWS ACCESS KEY ID ENCODED IN BASE64>および<AWS SECRET ACCESS KEY ENCODED IN BASE64>に使用する必要があります。<namespacestore-secret-name>を一意の名前に置き換えます。次に、以下の YAML を適用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<namespacestore>を一意の名前に置き換えます。 -
<namespacestore-secret-name>を、直前の手順で作成されたシークレットに置き換えます。 -
<namespace-secret>を、直前の手順でシークレットを作成するために使用された namespace に置き換えます。 -
<target-bucket>を namespacestore 用に作成した AWS S3 バケットに置き換えます。
-
以下のコマンドを実行してバケットクラスを作成します。
noobaa bucketclass create namespace-bucketclass cache <my-cache-bucket-class> --backingstores <backing-store> --hub-resource <namespacestore>
noobaa bucketclass create namespace-bucketclass cache <my-cache-bucket-class> --backingstores <backing-store> --hub-resource <namespacestore>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<my-cache-bucket-class>を一意のバケットクラス名に置き換えます。 -
<backing-store>を関連するバッキングストアに置き換えます。コンマで区切られた 1 つ以上のバッキングストアを一覧表示できます。 -
<namespacestore>を、直前の手順で作成された namespacestore に置き換えます。
-
以下のコマンドを実行して、手順 2 に定義されたバケットクラスを使用する Object Bucket Claim (OBC) リソースを使用してバケットを作成します。
noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>
noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<my-bucket-claim>を一意の名前に置き換えます。 -
<custom-bucket-class>を、手順 2 で作成したバケットクラスの名前に置き換えます。
-