5.5.3. バックアップ時の自己署名 CA 証明書の追加


自己署名認証局 (CA) 証明書を Data Protection Application (DPA) に含めてから、アプリケーションをバックアップできます。バックアップは、Red Hat OpenShift Data Foundation (ODF) が提供する NooBaa バケットに保存します。

5.5.3.1. アプリケーションとその自己署名 CA 証明書のバックアップ

ODF によって提供される s3.openshift-storage.svc サービスは、自己署名サービス CA で署名された Transport Layer Security (TLS) プロトコル証明書を使用します。

certificate signed by unknown authority エラーを防ぐには、DataProtectionApplication カスタムリソース (CR) の Backup Storage Location (BSL) セクションに自己署名 CA 証明書を含める必要があります。この場合、次のタスクを完了する必要があります。

  • Object Bucket Claim (OBC) を作成して、NooBaa バケットを要求します。
  • バケットの詳細を抽出します。
  • DataProtectionApplication CR に自己署名 CA 証明書を含めます。
  • アプリケーションをバックアップします。

前提条件

  • OADP Operator をインストールした。
  • ODF Operator をインストールした。
  • 別の namespace で実行されているデータベースを持つアプリケーションがある。

手順

  1. 次の例に示すように、NooBaa バケットを要求する OBC マニフェストを作成します。

    apiVersion: objectbucket.io/v1alpha1
    kind: ObjectBucketClaim
    metadata:
      name: test-obc
      namespace: openshift-adp
    spec:
      storageClassName: openshift-storage.noobaa.io
      generateBucketName: test-backup-bucket

    各項目の説明:

    test-obc
    Object Bucket Claim の名前を指定します。
    test-backup-bucket
    バケットの名前を指定します。
  2. 次のコマンドを実行して OBC を作成します。

    $ oc create -f <obc_file_name>
  3. OBC を作成すると、ODF が Object Bucket Claim と同じ名前の secretConfigMap を作成します。secret オブジェクトにはバケットの認証情報が含まれ、ConfigMap オブジェクトにはバケットにアクセスするための情報が含まれています。生成された config map からバケット名とバケットホストを取得するには、次のコマンドを実行します。

    $ oc extract --to=- cm/test-obc

    test-obc は OBC の名前です。

    出力例

    # BUCKET_NAME
    backup-c20...41fd
    # BUCKET_PORT
    443
    # BUCKET_REGION
    
    # BUCKET_SUBREGION
    
    # BUCKET_HOST
    s3.openshift-storage.svc

  4. secret オブジェクトからバケット認証情報を取得するには、次のコマンドを実行します。

    $ oc extract --to=- secret/test-obc

    出力例

    # AWS_ACCESS_KEY_ID
    ebYR....xLNMc
    # AWS_SECRET_ACCESS_KEY
    YXf...+NaCkdyC3QPym

  5. 次の設定例を使用して、オブジェクトバケットの認証情報を含む cloud-credentials ファイルを作成します。

    [default]
    aws_access_key_id=<AWS_ACCESS_KEY_ID>
    aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
  6. 次のコマンドを実行して、cloud-credentials ファイルの内容を使用して cloud-credentials シークレットを作成します。

    $ oc create secret generic \
      cloud-credentials \
      -n openshift-adp \
      --from-file cloud=cloud-credentials
  7. 次のコマンドを実行して、openshift-service-ca.crt config map からサービス CA 証明書を抽出します。証明書を Base64 形式で必ずエンコードし、次のステップで使用する値をメモしてください。

    $ oc get cm/openshift-service-ca.crt \
      -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo

    出力例

    LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0...
    ....gpwOHMwaG9CRmk5a3....FLS0tLS0K

  8. 次の例に示すように、バケット名と CA 証明書を使用して DataProtectionApplication CR マニフェストファイルを設定します。

    apiVersion: oadp.openshift.io/v1alpha1
    kind: DataProtectionApplication
    metadata:
      name: oadp-backup
      namespace: openshift-adp
    spec:
      configuration:
        nodeAgent:
          enable: true
          uploaderType: kopia
        velero:
          defaultPlugins:
            - aws
            - openshift
            - csi
          defaultSnapshotMoveData: true
      backupLocations:
        - velero:
            config:
              profile: "default"
              region: noobaa
              s3Url: https://s3.openshift-storage.svc
              s3ForcePathStyle: "true"
              insecureSkipTLSVerify: "false"
            provider: aws
            default: true
            credential:
              key: cloud
              name:  cloud-credentials
            objectStorage:
              bucket: <bucket_name>
              prefix: oadp
              caCert: <ca_cert>

    各項目の説明:

    insecureSkipTLSVerify
    SSL/TLS セキュリティーが有効かどうかを指定します。true に設定すると、SSL/TLS セキュリティーが無効になります。false に設定すると、SSL/TLS セキュリティーが有効になります。
    <bucket_name>
    前のステップで抽出したバケットの名前を指定します。
    <ca_cert>
    前の手順で Base64 でエンコードした証明書を指定します。
  9. 次のコマンドを実行して、DataProtectionApplication CR を作成します。

    $ oc apply -f <dpa_filename>
  10. 次のコマンドを実行して、DataProtectionApplication CR が正常に作成されたことを確認します。

    $ oc get dpa -o yaml

    出力例

    apiVersion: v1
    items:
    - apiVersion: oadp.openshift.io/v1alpha1
      kind: DataProtectionApplication
      metadata:
        namespace: openshift-adp
        #...#
      spec:
        backupLocations:
        - velero:
            config:
              #...#
      status:
        conditions:
        - lastTransitionTime: "20....9:54:02Z"
          message: Reconcile complete
          reason: Complete
          status: "True"
          type: Reconciled
    kind: List
    metadata:
      resourceVersion: ""

  11. 次のコマンドを実行して、Backup Storage Location (BSL) が使用可能であることを確認します。

    $ oc get backupstoragelocations.velero.io -n openshift-adp

    出力例

    NAME           PHASE       LAST VALIDATED   AGE   DEFAULT
    dpa-sample-1   Available   3s               15s   true

  12. 次の例を使用して、Backup CR を設定します。

    apiVersion: velero.io/v1
    kind: Backup
    metadata:
      name: test-backup
      namespace: openshift-adp
    spec:
      includedNamespaces:
      - <application_namespace>

    各項目の説明:

    <application_namespace>
    バックアップするアプリケーションの namespace を指定します。
  13. 次のコマンドを実行して Backup CR を作成します。

    $ oc apply -f <backup_cr_filename>

検証

  • 次のコマンドを実行して、Backup オブジェクトが Completed フェーズにあることを確認します。

    $ oc describe backup test-backup -n openshift-adp

    出力例

    Name:         test-backup
    Namespace:    openshift-adp
    # ....#
    Status:
      Backup Item Operations Attempted:  1
      Backup Item Operations Completed:  1
      Completion Timestamp:              2024-09-25T10:17:01Z
      Expiration:                        2024-10-25T10:16:31Z
      Format Version:                    1.1.0
      Hook Status:
      Phase:  Completed
      Progress:
        Items Backed Up:  34
        Total Items:      34
      Start Timestamp:    2024-09-25T10:16:31Z
      Version:            1
    Events:               <none>

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る