11.2. IBM COS キャッシュバケットの作成
前提条件
Multicloud Object Gateway (MCG) コマンドラインインターフェイスをダウンロードします。
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms # yum install mcg
注記サブスクリプションマネージャーを使用してリポジトリーを有効にするための適切なアーキテクチャーを指定します。
- IBM Power の場合は、次のコマンドを使用します。
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
- IBM Z インフラストラクチャーの場合は、以下のコマンドを使用します。
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
または、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 ibm-cos <namespacestore> --endpoint <IBM COS ENDPOINT> --access-key <IBM ACCESS KEY> --secret-key <IBM SECRET ACCESS KEY> --target-bucket <bucket-name>
-
<namespacestore>
を NamespaceStore の名前に置き換えます。 -
<IBM ACCESS KEY>
,<IBM SECRET ACCESS KEY>
,<IBM COS ENDPOINT>
を IBM アクセスキー ID、シークレットアクセスキー、および既存の IBM バケットの場所に対応する地域のエンドポイントに置き換えます。 <bucket-name>
を既存の IBM バケット名に置き換えます。この引数は、MCG に対して、バッキングストア、およびその後のデータストレージおよび管理のためのターゲットバケットとして使用するバケットについて指示します。YAML を適用してストレージリソースを追加することもできます。まず、認証情報を使用してシークレットを作成します。
apiVersion: v1 kind: Secret metadata: name: <namespacestore-secret-name> type: Opaque data: IBM_COS_ACCESS_KEY_ID: <IBM COS ACCESS KEY ID ENCODED IN BASE64> IBM_COS_SECRET_ACCESS_KEY: <IBM COS SECRET ACCESS KEY ENCODED IN BASE64>
Base64 を使用して独自の IBM COS アクセスキー ID およびシークレットアクセスキーを指定し、エンコードし、その結果を
<IBM COS ACCESS KEY ID ENCODED IN BASE64>
および<IBM COS 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: s3Compatible: endpoint: <IBM COS ENDPOINT> secret: name: <backingstore-secret-name> namespace: <namespace-secret> signatureVersion: v2 targetBucket: <target-bucket> type: ibm-cos
-
<namespacestore>
を一意の名前に置き換えます。 -
<IBM COS ENDPOINT>
を適切な IBM COS エンドポイントに置き換えます。 -
<backingstore-secret-name>
を、直前の手順で作成されたシークレットに置き換えます。 -
<namespace-secret>
を、直前の手順でシークレットを作成するために使用された namespace に置き換えます。 -
<target-bucket>
を namespacestore 用に作成した AWS S3 バケットに置き換えます。
-
以下のコマンドを実行してバケットクラスを作成します。
noobaa bucketclass create namespace-bucketclass cache <my-bucket-class> --backingstores <backing-store> --hubResource <namespacestore>
-
<my-bucket-class>
を一意のバケットクラス名に置き換えます。 -
<backing-store>
を関連するバッキングストアに置き換えます。コンマで区切られた 1 つ以上のバッキングストアを一覧表示できます。 -
<namespacestore>
を、直前の手順で作成された namespacestore に置き換えます。
-
以下のコマンドを実行して、手順 2 に定義されたバケットクラスを使用する Object Bucket Class リソースを使用してバケットを作成します。
noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>
-
<my-bucket-claim>
を一意の名前に置き換えます。 -
<custom-bucket-class>
を、手順 2 で作成したバケットクラスの名前に置き換えます。
-