OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
10.5.2.3. Multicloud Object Gateway CLI を使用した AWS S3 namespace バケットの追加
前提条件
- 実行中の OpenShift Data Foundation Platform。
- Multicloud Object Gateway (MCG) へのアクセスについては、第 2 章の Accessing the Multicloud Object Gateway with your applications を参照してください。
- 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 mcg
サブスクリプションマネージャーを使用してリポジトリーを有効にするための適切なアーキテクチャーを指定します。たとえば、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-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 aws-s3 <namespacestore> --access-key <AWS ACCESS KEY> --secret-key <AWS SECRET ACCESS KEY> --target-bucket <bucket-name> -n openshift-storage
noobaa namespacestore create aws-s3 <namespacestore> --access-key <AWS ACCESS KEY> --secret-key <AWS SECRET ACCESS KEY> --target-bucket <bucket-name> -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<namespacestore>を NamespaceStore の名前に置き換えます。 -
<AWS ACCESS KEY>および<AWS SECRET ACCESS KEY>を、作成した AWS アクセスキー ID およびシークレットアクセスキーに置き換えます。 -
<bucket-name>を既存の AWS バケット名に置き換えます。この引数は、MCG に対して、バッキングストア、およびその後のデータストレージおよび管理のためのターゲットバケットとして使用するバケットについて指示します。
-
namespace バケットの namespace ポリシーを定義する namespace バケットクラスを作成します。namespace ポリシーには、
singleまたはmultiのタイプが必要です。以下のコマンドを実行して、タイプ
singleの namespace ポリシーで namespace バケットクラスを作成します。noobaa bucketclass create namespace-bucketclass single <my-bucket-class> --resource <resource> -n openshift-storage
noobaa bucketclass create namespace-bucketclass single <my-bucket-class> --resource <resource> -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<resource-name>をリソースに指定する名前に置き換えます。 -
<my-bucket-class>を一意のバケットクラス名に置き換えます。 -
<resource>を namespace バケットの読み取りおよび書き込みターゲットを定義する単一の namespace-store に置き換えます。
-
以下のコマンドを実行して、タイプ
multiの namespace ポリシーで namespace バケットクラスを作成します。noobaa bucketclass create namespace-bucketclass multi <my-bucket-class> --write-resource <write-resource> --read-resources <read-resources> -n openshift-storage
noobaa bucketclass create namespace-bucketclass multi <my-bucket-class> --write-resource <write-resource> --read-resources <read-resources> -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<resource-name>をリソースに指定する名前に置き換えます。 -
<my-bucket-class>を一意のバケットクラス名に置き換えます。 -
<write-resource>を、namespace バケットの書き込みターゲットを定義する単一の namespace-store に置き換えます。 -
<read-resources>を、namespace バケットの読み取りターゲットを定義する 、コンマで区切られた namespace-stores の一覧に置き換えます。
-
以下のコマンドを実行して、手順 2 に定義されたバケットクラスを使用する Object Bucket Class (OBC) リソースを使用してバケットを作成します。
noobaa obc create my-bucket-claim -n openshift-storage --app-namespace my-app --bucketclass <custom-bucket-class>
noobaa obc create my-bucket-claim -n openshift-storage --app-namespace my-app --bucketclass <custom-bucket-class>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<bucket-name>を、選択するバケット名に置き換えます。 -
<custom-bucket-class>を、手順 2 で作成したバケットクラスの名前に置き換えます。
-
OBC が Operator によってプロビジョニングされると、バケットが MCG で作成され、Operator は OBC の同じ namespace 上に同じ名前でシークレットおよび ConfigMap を作成します。