4.2.2. YAML を使用した IBM COS namespace バケットの追加


前提条件

手順

  1. 認証情報でシークレットを作成します。

    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>
    <namespacestore-secret-name>

    一意の NamespaceStore 名。

    Base64 を使用して独自の IBM COS アクセスキー ID およびシークレットアクセスキーを指定してエンコードし、その結果を <IBM COS ACCESS KEY ID ENCODED IN BASE64> および <IBM COS SECRET ACCESS KEY ENCODED IN BASE64> の代わりに使用する必要があります。

  2. OpenShift カスタムリソース定義 (CRD) を使用して NamespaceStore リソースを作成します。

    NamespaceStore は、MCG namespace バケットでデータの read または write ターゲットとして使用される基礎となるストレージを表します。

    NamespaceStore リソースを作成するには、以下の YAML を適用します。

    apiVersion: noobaa.io/v1alpha1
    kind: NamespaceStore
    metadata:
      finalizers:
      - noobaa.io/finalizer
      labels:
        app: noobaa
      name: bs
      namespace: openshift-storage
    spec:
      s3Compatible:
        endpoint: <IBM COS ENDPOINT>
        secret:
          name: <namespacestore-secret-name>
          namespace: <namespace-secret>
        signatureVersion: v2
        targetBucket: <target-bucket>
      type: ibm-cos
    <IBM COS ENDPOINT>
    適切な IBM COS エンドポイント。
    <namespacestore-secret-name>
    前の手順で作成されたシークレット
    <namespace-secret>
    シークレットが見つかる namespace。
    <target-bucket>
    NamespaceStore 用に作成したターゲットバケット。
  3. namespace バケットの namespace ポリシーを定義する namespace バケットクラスを作成します。namespace ポリシーには、single または multi のタイプが必要です。

    • タイプ single の namespace ポリシーには、以下の設定が必要です。

      apiVersion: noobaa.io/v1alpha1
      kind: BucketClass
      metadata:
        labels:
          app: noobaa
        name: <my-bucket-class>
        namespace: openshift-storage
      spec:
        namespacePolicy:
          type: Single
          single:
            resource: <resource>
      <my-bucket-class>
      一意の namespace バケットクラス名。
      <resource>
      namespace バケットの read および write ターゲットを定義する単一の NamespaceStore の名前。
    • タイプが multi の namespace ポリシーには、以下の設定が必要です。

      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>
      <my-bucket-class>
      一意のバケットクラス名。
      <write-resource>
      namespace バケットの書き込みターゲットを定義する単一の NamespaceStore の名前。
      <read-resources>
      namespace バケットの read ターゲットを定義する NamespaceStores 名のリスト。
  4. 以下の YAML を適用して、前の手順で定義されたバケットクラスを使用する Object Bucket Class (OBC) リソースを使用してバケットを作成します。

    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>
    <resource-name>
    リソースに指定する名前。
    <my-bucket>
    バケットに指定したい名前。
    <my-bucket-class>

    前のステップで作成されたバケットクラス。

    OBC が Operator によってプロビジョニングされると、バケットが MCG で作成され、Operator は OBC と同じ namespace 上に同じ名前で Secret および ConfigMap を作成します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る