10.7. Object Bucket Claim
Object Bucket Claim(オブジェクトバケット要求) は、ワークロードの S3 と互換性のあるバケットバックエンドを要求するために使用できます。
Object Bucket Claim(オブジェクトバケット要求) は 3 つの方法で作成できます。
Object Bucket Claim(オブジェクトバケット要求) は、新しいアクセスキーおよびシークレットアクセスキーを含む、バケットのパーミッションのある NooBaa の新しいバケットとアプリケーションアカウントを作成します。アプリケーションアカウントは単一バケットにのみアクセスでき、デフォルトで新しいバケットを作成することはできません。
10.7.1. 動的 Object Bucket Claim(オブジェクトバケット要求) リンクのコピーリンクがクリップボードにコピーされました!
永続ボリュームと同様に、Object Bucket Claim (OBC) の詳細をアプリケーションの YAML に追加し、Config Map およびシークレットで利用可能なオブジェクトサービスエンドポイント、アクセスキー、およびシークレットアクセスキーを取得できます。この情報をアプリケーションの環境変数に動的に読み込むことは容易に実行できます。
Multicloud Object Gateway エンドポイントは、OpenShift が自己署名証明書を使用する場合にのみ、自己署名証明書を使用します。OpenShift で署名付き証明書を使用すると、Multicloud Object Gateway エンドポイント証明書が署名付き証明書に自動的に置き換えられます。ブラウザーを介してエンドポイントにアクセスし、Multicloud Object Gateway で現在使用されている証明書を取得します。詳細は、アプリケーションの使用による Multicloud Object Gateway へのアクセス を参照してください。
手順
以下の行をアプリケーション YAML に追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらの行は OBC 自体になります。
-
<obc-name>を、一意の OBC の名前に置き換えます。 -
<obc-bucket-name>を、OBC の一意のバケット名に置き換えます。
-
YAML ファイルにさらに行を追加して、OBC の使用を自動化します。
以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は、バケット要求の結果のマッピングの例になります。これは、データを含む Config Map および認証情報を含むシークレットです。この特定のジョブは NooBaa からオブジェクトバケットを要求し、バケットとアカウントを作成します。
-
<obc-name>のすべてのインスタンスを、OBC の名前に置き換えます。 -
<your application image>をアプリケーションイメージに置き換えます。
-
更新された YAML ファイルを適用します。
oc apply -f <yaml.file>
# oc apply -f <yaml.file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <yaml.file>を YAML ファイルの名前に置き換えます。新しい Config Map を表示するには、以下を実行します。
oc get cm <obc-name> -o yaml
# oc get cm <obc-name> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow obc-nameを OBC の名前に置き換えます。出力には、以下の環境変数が表示されることが予想されます。
-
BUCKET_HOST: アプリケーションで使用するエンドポイント BUCKET_PORT: アプリケーションで利用できるポート-
ポートは
BUCKET_HOSTに関連します。たとえば、BUCKET_HOSTが https://my.example.com で、BUCKET_PORTが 443 の場合、オブジェクトサービスのエンドポイントは https://my.example.com:443 になります。
-
ポートは
-
BUCKET_NAME: 要求されるか、生成されるバケット名 -
AWS_ACCESS_KEY_ID: 認証情報の一部であるアクセスキー -
AWS_SECRET_ACCESS_KEY: 認証情報の一部であるシークレットのアクセスキー
-
AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY を取得します。名前は、AWS S3 と互換性があるように使用されます。S3 操作の実行中、特に Multicloud Object Gateway (MCG) バケットから読み取り、書き込み、またはリスト表示する場合は、キーを指定する必要があります。キーは Base64 でエンコードされています。キーを使用する前に、キーをデコードしてください。
oc get secret <obc_name> -o yaml
# oc get secret <obc_name> -o yaml
<obc_name>- オブジェクトバケットクレームの名前を指定します。
10.7.2. コマンドラインインターフェイスを使用した Object Bucket Claim(オブジェクトバケット要求) の作成 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して Object Bucket Claim (OBC) を作成する場合、Config Map とシークレットを取得します。これらには、アプリケーションがオブジェクトストレージサービスを使用するために必要なすべての情報が含まれます。
前提条件
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 Power の場合は、次のコマンドを使用します。
subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpmsCopy 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
手順
コマンドラインインターフェイスを使用して、新規バケットおよび認証情報の詳細を生成します。
以下のコマンドを実行します。
noobaa obc create <obc-name> -n openshift-storage
# noobaa obc create <obc-name> -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow <obc-name>を一意の OBC 名に置き換えます (例:myappobc)。さらに、
--app-namespaceオプションを使用して、OBC Config Map およびシークレットが作成される namespace を指定できます (例:myapp-namespace)。以下に例を示します。
INFO[0001] ✅ Created: ObjectBucketClaim "test21obc"
INFO[0001] ✅ Created: ObjectBucketClaim "test21obc"Copy to Clipboard Copied! Toggle word wrap Toggle overflow MCG コマンドラインインターフェイスが必要な設定を作成し、新規 OBC について OpenShift に通知します。
以下のコマンドを実行して OBC を表示します。
oc get obc -n openshift-storage
# oc get obc -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
NAME STORAGE-CLASS PHASE AGE test21obc openshift-storage.noobaa.io Bound 38s
NAME STORAGE-CLASS PHASE AGE test21obc openshift-storage.noobaa.io Bound 38sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、新規 OBC の YAML ファイルを表示します。
oc get obc test21obc -o yaml -n openshift-storage
# oc get obc test21obc -o yaml -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-storagenamespace 内で、Config Map およびシークレットを見つけ、この OBC を使用することができます。CM とシークレットの名前はこの OBC の名前と同じです。以下のコマンドを実行してシークレットを表示します。
oc get -n openshift-storage secret test21obc -o yaml
# oc get -n openshift-storage secret test21obc -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットは S3 アクセス認証情報を提供します。
以下のコマンドを実行して Config Map を表示します。
oc get -n openshift-storage cm test21obc -o yaml
# oc get -n openshift-storage cm test21obc -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Config Map には、アプリケーションの S3 エンドポイント情報が含まれます。
10.7.3. OpenShift Web コンソールを使用した Object Bucket Claim(オブジェクトバケット要求) の作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Web コンソールを使用して Object Bucket Claim (オブジェクトバケット要求) を作成できます。
前提条件
- OpenShift Web コンソールへの管理者アクセス。
- アプリケーションが OBC と通信できるようにするには、configmap およびシークレットを使用する必要があります。これに関する詳細情報は、「動的 Object Bucket Claim(オブジェクトバケット要求)」 を参照してください。
手順
- OpenShift Web コンソールにログインします。
左側のナビゲーションバーで Storage
Object Bucket Claims Create Object Bucket Claim をクリックします。 Object Bucket Claim(オブジェクトバケット要求) の名前を入力し、ドロップダウンメニューから、内部または外部かのデプロイメントに応じて適切なストレージクラスとバケットクラスを選択します。
- 内部モード
デプロイメント後に作成された以下のストレージクラスを使用できます。
-
ocs-storagecluster-ceph-rgwは Ceph Object Gateway (RGW) を使用します。 -
openshift-storage.noobaa.ioは Multicloud Object Gateway (MCG) を使用します。
-
- 外部モード
デプロイメント後に作成された以下のストレージクラスを使用できます。
-
ocs-external-storagecluster-ceph-rgwは RGW を使用します。 openshift-storage.noobaa.ioは MCG を使用します。注記RGW OBC ストレージクラスは、OpenShift Data Foundation バージョン 4.5 の新規インストールでのみ利用できます。これは、以前の OpenShift Data Foundation リリースからアップグレードされたクラスターには適用されません。
-
Create をクリックします。
OBC を作成すると、その詳細ページにリダイレクトされます。
10.7.4. Object Bucket Claim(オブジェクトバケット要求) のデプロイメントへの割り当て リンクのコピーリンクがクリップボードにコピーされました!
Object Bucket Claim(オブジェクトバケット要求、OBC) は作成後に、特定のデプロイメントに割り当てることができます。
前提条件
- OpenShift Web コンソールへの管理者アクセス。
手順
-
左側のナビゲーションバーで Storage
Object Bucket Claims をクリックします。 作成した OBC の横にあるアクションメニュー (⋮) をクリックします。
- ドロップダウンメニューで、Attach to Deployment を選択します。
- Deployment Name リストから必要なデプロイメントを選択し、Attach をクリックします。
10.7.5. OpenShift Web コンソールを使用したオブジェクトバケットの表示 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Web コンソールを使用して、Object Bucket Claim(オブジェクトバケット要求、OBC) 用に作成されたオブジェクトバケットの詳細を表示できます。
前提条件
- OpenShift Web コンソールへの管理者アクセス。
手順
- OpenShift Web コンソールにログインします。
左側のナビゲーションバーで Storage
Object Buckets をクリックします。 オプション: 特定の OBC の詳細ページに移動し、Resource リンクをクリックして、その OBC のオブジェクトバケットを表示することもできます。
- 詳細を表示するオブジェクトバケットを選択します。選択すると、Object Bucket Details ページに移動します。
10.7.6. Object Bucket Claim(オブジェクトバケット要求) の削除 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- OpenShift Web コンソールへの管理者アクセス。
手順
-
左側のナビゲーションバーで Storage
Object Bucket Claims をクリックします。 削除する Object Bucket Claim(オブジェクトバケット要求) の横にあるアクションメニュー (⋮) をクリックします。
- Delete Object Bucket Claim を選択します。
- Delete をクリックします。