YAML を使用した AWS S3 名前空間バケットの追加
YAML ファイルを使用して、 AWS S3 名前空間バケットを追加します。
開始前に
- Fusion Data Foundation オペレーターを使用して OpenShift Container Platform をインストールします。
- Multicloud Object Gateway (MCG) にアクセスできることを確認します。 アプリケーションでの Multicloud Object Gateway へのアクセスを参照してください。
手順
- 資格情報を使用して秘密を作成します。
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>- 名前空間ストア・シークレット名 (namespacestore-secret-name)
- 固有の NamespaceStore 名です。
- AWS アクセス・キー ID のエンコード場所 BASE64
- AWS BASE64でエンコードされた秘密アクセス・キー
Base64を使用して独自の AWS アクセス・キー ID と秘密アクセス・キーを指定およびエンコードし、 AWS ACCESS KEY ID ENCODED IN BASE64 および AWS SECRET ACCESS KEY ENCODED IN BASE64の代わりに結果を使用する必要があります。
- OpenShift カスタム・リソース定義 (CRD) を使用して NamespaceStore リソースを作成します。
NamespaceStore は、MCG 名前空間バケット内のデータの
readまたはwriteターゲットとして使用される基礎ストレージを表します。NamespaceStore リソースを作成するには、以下の YAML を適用します。apiVersion: noobaa.io/v1alpha1 kind: NamespaceStore metadata: finalizers: - noobaa.io/finalizer labels: app: noobaa name: <resource-name> namespace: openshift-storage spec: awsS3: secret: name: <namespacestore-secret-name> namespace: <namespace-secret> targetBucket: <target-bucket> type: aws-s3- リソース名
リソースに指定したい名前。
- 名前空間ストア・シークレット名 (namespacestore-secret-name)
前のステップで作成したシークレット。
- 名前空間-秘密
シークレットを見つけることができる名前空間。
- ターゲット・バケット
NamespaceStore用に作成したターゲット・バケット。
- 名前空間バケットの名前空間ポリシーを定義する名前空間バケット・クラスを作成します。名前空間ポリシーには、 single または multiのいずれかのタイプが必要です。
タイプ single の名前空間ポリシーには、以下の構成が必要です。
apiVersion: noobaa.io/v1alpha1 kind: BucketClass metadata: labels: app: noobaa name: <my-bucket-class> namespace: openshift-storage spec: namespacePolicy: type: single: resource: <resource>- マイ・バケット・クラス
固有の名前空間バケット・クラス名。
- リソース
名前空間バケットの読み取りおよび書き込みのターゲットを定義する単一の NamespaceStore の名前。
- タイプ multi の名前空間ポリシーには、以下の構成が必要です。
apiVersion: noobaa.io/v1alpha1 kind: BucketClass metadata: labels: app: noobaa name: my-bucket-class namespace: openshift-storage spec: namespacePolicy: type: Multi multi: writeResource: <write-resource> readResources: - <read-resources> - <read-resources>- マイ・バケット・クラス
固有のバケット・クラス名。
- 書き込みリソース
名前空間バケットの
writeターゲットを定義する単一の NamespaceStore の名前。- 読み取りリソース
名前空間バケットの
readターゲットを定義する NamespaceStores の名前のリスト。
- オブジェクト・バケット・クラス (OBC) リソースを使用してバケットを作成します。以下の YAML を使用して、前のステップで定義したバケット・クラスを使用します。
apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: <resource-name> namespace: openshift-storage spec: generateBucketName: <my-bucket> storageClassName: openshift-storage.noobaa.io additionalConfig: bucketclass: <my-bucket-class>- リソース名
リソースに指定したい名前。
- マイ・バケット
バケットに指定したい名前。
- マイ・バケット・クラス
前のステップで作成したバケット・クラス。
オペレーターによって OBC がプロビジョンされると、バケットが MCG に作成され、オペレーターは、OBC と同じ名前で同じ名前空間内にSecretとConfigMapを作成します。