16.2.2.4. GitOps ZTP を使用した OADP Operator のインストールと設定


アップグレードを開始する前に、GitOps ZTP を使用して OADP Operator をインストールして設定します。

手順

  1. ztp-site-generate コンテナーイメージから次の CR を抽出し、source-cr ディレクトリーにプッシュします。

    OadpSubscriptionNS.yaml ファイルの例:

    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-adp
      annotations:
        ran.openshift.io/ztp-deploy-wave: "2"
      labels:
        kubernetes.io/metadata.name: openshift-adp

    OadpSubscriptionOperaGroup.yaml ファイルの例:

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: redhat-oadp-operator
      namespace: openshift-adp
      annotations:
        ran.openshift.io/ztp-deploy-wave: "2"
    spec:
      targetNamespaces:
      - openshift-adp

    OadpSubscription.yaml ファイルの例:

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: redhat-oadp-operator
      namespace: openshift-adp
      annotations:
        ran.openshift.io/ztp-deploy-wave: "2"
    spec:
      channel: stable-1.4
      name: redhat-oadp-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
      installPlanApproval: Manual
    status:
      state: AtLatestKnown

    OadpOperatorStatus.yaml ファイルの例:

    apiVersion: operators.coreos.com/v1
    kind: Operator
    metadata:
      name: redhat-oadp-operator.openshift-adp
      annotations:
        ran.openshift.io/ztp-deploy-wave: "2"
    status:
      components:
        refs:
        - kind: Subscription
          namespace: openshift-adp
          conditions:
          - type: CatalogSourcesUnhealthy
            status: "False"
        - kind: InstallPlan
          namespace: openshift-adp
          conditions:
          - type: Installed
            status: "True"
        - kind: ClusterServiceVersion
          namespace: openshift-adp
          conditions:
          - type: Succeeded
            status: "True"
            reason: InstallSucceeded

    ディレクトリー構造の例:

    ├── kustomization.yaml
    ├── sno
    │   ├── example-cnf.yaml
    │   ├── common-ranGen.yaml
    │   ├── group-du-sno-ranGen.yaml
    │   ├── group-du-sno-validator-ranGen.yaml
    │   └── ns.yaml
    ├── source-crs
    │   ├── OadpSubscriptionNS.yaml
    │   ├── OadpSubscriptionOperGroup.yaml
    │   ├── OadpSubscription.yaml
    │   ├── OadpOperatorStatus.yaml
  2. 共通の PolicyGenTemplate に CR を追加します。

    apiVersion: ran.openshift.io/v1
    kind: PolicyGenTemplate
    metadata:
      name: "example-common-latest"
      namespace: "ztp-common"
    spec:
      bindingRules:
        common: "true"
        du-profile: "latest"
      sourceFiles:
        - fileName: OadpSubscriptionNS.yaml
          policyName: "subscriptions-policy"
        - fileName: OadpSubscriptionOperGroup.yaml
          policyName: "subscriptions-policy"
        - fileName: OadpSubscription.yaml
          policyName: "subscriptions-policy"
        - fileName: OadpOperatorStatus.yaml
          policyName: "subscriptions-policy"
    [...]
  3. ターゲットクラスター専用の DataProtectionApplication CR と S3 シークレットを作成します。

    1. ztp-site-generate コンテナーイメージから次の CR を抽出し、source-cr ディレクトリーにプッシュします。

      OadpDataProtectionApplication.yaml ファイルの例:

      apiVersion: oadp.openshift.io/v1alpha1
      kind: DataProtectionApplication
      metadata:
        name: dataprotectionapplication
        namespace: openshift-adp
        annotations:
          ran.openshift.io/ztp-deploy-wave: "100"
      spec:
        configuration:
          restic:
            enable: false
          velero:
            defaultPlugins:
              - aws
              - openshift
            resourceTimeout: 10m
        backupLocations:
          - velero:
              config:
                profile: "default"
                region: minio
                s3Url: $url
                insecureSkipTLSVerify: "true"
                s3ForcePathStyle: "true"
              provider: aws
              default: true
              credential:
                key: cloud
                name: cloud-credentials
              objectStorage:
                bucket: $bucketName
                prefix: $prefixName
      status:
        conditions:
        - reason: Complete
          status: "True"
          type: Reconciled
      • イメージベースのアップグレードでは、永続ボリュームの内容がアップグレード後も保持され再利用されるため、spec.configuration.restic.enable をfalse に設定する必要があります。
      • bucket は、S3 バックエンドで作成されるバケット名を定義します。プレフィックスは、バケット内に自動的に作成されるサブディレクトリーの名前を定義します。バケットと接頭辞の組み合わせは、それらの間の干渉を避けるために、各ターゲットクラスターごとに一意である必要があります。各ターゲットクラスターに一意のストレージディレクトリーを確保するには、Red Hat Advanced Cluster Management のハブテンプレート機能を使用できます (例: prefix: {{hub .ManagedClusterName hub}})。

      OadpSecret.yaml ファイルの例:

      apiVersion: v1
      kind: Secret
      metadata:
        name: cloud-credentials
        namespace: openshift-adp
        annotations:
          ran.openshift.io/ztp-deploy-wave: "100"
      type: Opaque

      OadpBackupStorageLocationStatus.yaml ファイルの例:

      apiVersion: velero.io/v1
      kind: BackupStorageLocation
      metadata:
        name: dataprotectionapplication-1
        namespace: openshift-adp
        annotations:
          ran.openshift.io/ztp-deploy-wave: "100"
      status:
        phase: Available

      BackupStorageLocation リソースの 名前の 値は、対応する DataProtectionApplication リソースと一致する特定の命名規則に従う必要があります。

      • 名前は 、<DataProtectionApplication.metadata.name>-<index> の パターンを使用する必要があります。
      • <index> は、DataProtectionApplication リソースの spec.backupLocations フィールド内の対応するエントリーの位置を表します。ポジションは 1 から始まります。
      • OadpDataProtectionApplication.yaml ファイル内の DataProtectionApplication リソースの metadata.name 値を変更する場合は、BackupStorageLocation リソースの metadata.name フィールドも新しい値に合わせて更新する必要があります。

      OadpBackupStorageLocationStatus.yaml CR は、OADP によって作成されたバックアップストレージの場所の可用性を確認します。

    2. オーバーライドを使用して、サイトの PolicyGenTemplate に CR を追加します。

      apiVersion: ran.openshift.io/v1
      kind: PolicyGenTemplate
      metadata:
        name: "example-cnf"
        namespace: "ztp-site"
      spec:
        bindingRules:
          sites: "example-cnf"
          du-profile: "latest"
        mcp: "master"
        sourceFiles:
          ...
          - fileName: OadpSecret.yaml
            policyName: "config-policy"
            data:
              cloud: <your_credentials>
          - fileName: OadpDataProtectionApplication.yaml
            policyName: "config-policy"
            spec:
              backupLocations:
                - velero:
                    config:
                      region: minio
                      s3Url: <your_S3_URL>
                      profile: "default"
                      insecureSkipTLSVerify: "true"
                      s3ForcePathStyle: "true"
                    provider: aws
                    default: true
                    credential:
                      key: cloud
                      name: cloud-credentials
                    objectStorage:
                      bucket: <your_bucket_name>
                      prefix: <cluster_name>
          - fileName: OadpBackupStorageLocationStatus.yaml
            policyName: "config-policy"

ここでは、以下のようになります。

あなたの認証情報
S3 ストレージバックエンドの認証情報を指定します。
OadpDataProtectionApplication.yaml
OadpDataProtectionApplication CR に複数の backupLocations エントリーが定義されている場合は、ステータス追跡のために、対応する OadpBackupStorageLocation CR がそれぞれの場所に追加されていることを確認します。追加の各 OadpBackupStorageLocation CR の名前が、OadpBackupStorageLocationStatus.yaml ファイルの例で説明されている正しいインデックスでオーバーライドされていることを確認してください。
あなたの S3URL
S3 互換バケットの URL を指定します。
バケットプレフィックス
bucket は、S3 バックエンドで作成されるバケット名を定義します。prefix は、bucket 内に自動的に作成されるサブディレクトリーの名前を定義します。bucketprefix の組み合わせは、それらの間の干渉を避けるために、各ターゲットクラスターごとに一意である必要があります。各ターゲットクラスターに一意のストレージディレクトリーを確保するには、Red Hat Advanced Cluster Management のハブテンプレート機能を使用できます (例: prefix: {{hub .ManagedClusterName hub}})。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る