2.11. バックアップおよび復元用のハブクラスターの設定


GitOps ZTP を使用して、BareMetalHost リソースをバックアップするための一連のポリシーを設定できます。これにより、障害が発生したハブクラスターからデータを回復し、Red Hat Advanced Cluster Management (RHACM) を使用して代替クラスターをデプロイできます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つユーザーとしてログインしている。

手順

  1. cluster.open-cluster-management.io/backup=cluster-activation ラベルを infraenvs.agent-install.openshift.io ラベルの付いたすべての BareMetalHost リソースに追加するポリシーを作成します。ポリシーを BareMetalHostBackupPolicy.yaml として保存します。

    以下の例では、cluster.open-cluster-management.io/backup ラベルを、infraenvs.agent-install.openshift.io ラベルの付いたすべての BareMetalHost リソースに追加します。

    ポリシーの例

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: bmh-cluster-activation-label
      annotations:
        policy.open-cluster-management.io/description: Policy used to add the cluster.open-cluster-management.io/backup=cluster-activation label to all BareMetalHost resources
    spec:
      disabled: false
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: set-bmh-backup-label
            spec:
              object-templates-raw: |
                {{- /* Set cluster-activation label on all BMH resources */ -}}
                {{- $infra_label := "infraenvs.agent-install.openshift.io" }}
                {{- range $bmh := (lookup "metal3.io/v1alpha1" "BareMetalHost" "" "" $infra_label).items }}
                    - complianceType: musthave
                      objectDefinition:
                        kind: BareMetalHost
                        apiVersion: metal3.io/v1alpha1
                        metadata:
                          name: {{ $bmh.metadata.name }}
                          namespace: {{ $bmh.metadata.namespace }}
                          labels:
                            cluster.open-cluster-management.io/backup: cluster-activation 1
                {{- end }}
              remediationAction: enforce
              severity: high
    ---
    apiVersion: cluster.open-cluster-management.io/v1beta1
    kind: Placement
    metadata:
      name: bmh-cluster-activation-label-pr
    spec:
      predicates:
        - requiredClusterSelector:
            labelSelector:
              matchExpressions:
                - key: name
                  operator: In
                  values:
                    - local-cluster
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: bmh-cluster-activation-label-binding
    placementRef:
      name: bmh-cluster-activation-label-pr
      apiGroup: cluster.open-cluster-management.io
      kind: Placement
    subjects:
      - name: bmh-cluster-activation-label
        apiGroup: policy.open-cluster-management.io
        kind: Policy
    ---
    apiVersion: cluster.open-cluster-management.io/v1beta2
    kind: ManagedClusterSetBinding
    metadata:
      name: default
      namespace: default
    spec:
      clusterSet: default

    1
    cluster.open-cluster-management.io/backup: cluster-activation ラベルを BareMetalHost リソースに適用すると、RHACM クラスターはそれらのリソースをバックアップします。ハブアクティベーションリソースを復元する際に、アクティブなクラスターが使用できなくなった場合は、BareMetalHost リソースを復元できます。
  2. 以下のコマンドを実行してポリシーを適用します。

    $ oc apply -f BareMetalHostBackupPolicy.yaml

検証

  1. 以下のコマンドを実行して、ラベル infraenvs.agent-install.openshift.io を持つすべての BareMetalHost リソースを検索します。

    $ oc get BareMetalHost -A -l infraenvs.agent-install.openshift.io

    出力例

    NAMESPACE      NAME             STATE   CONSUMER   ONLINE   ERROR   AGE
    baremetal-ns   baremetal-name                      false            50s

  2. 以下のコマンドを実行して、ポリシーがラベル cluster.open-cluster-management.io/backup=cluster-activation をこれらのリソースすべてに適用していることを確認します。

    $ oc get BareMetalHost -A -l infraenvs.agent-install.openshift.io,cluster.open-cluster-management.io/backup=cluster-activation

    出力例

    NAMESPACE      NAME             STATE   CONSUMER   ONLINE   ERROR   AGE
    baremetal-ns   baremetal-name                      false            50s

    出力には前の手順と同じリストを表示する必要があります。このリストには、ラベル infraenvs.agent-install.openshift.io が付いたすべての BareMetalHost リソースがリスト表示されています。これにより、infraenvs.agent-install.openshift.io ラベルが付いたすべての BareMetalHost リソースにも、cluster.open-cluster-management.io/backup: cluster-activation ラベルがあることが確認されます。

    以下の例は、infraenvs.agent-install.openshift.io ラベルの付いた BareMetalHost リソースを示しています。リソースに、作成したポリシーによって追加された cluster.open-cluster-management.io/backup: cluster-activation ラベルも必要です。

    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
      labels:
        cluster.open-cluster-management.io/backup: cluster-activation
        infraenvs.agent-install.openshift.io: value
      name: baremetal-name
      namespace: baremetal-ns

Red Hat Advanced Cluster Management を使用して、マネージドクラスターを復元できるようになりました。

重要

クラスターアクティベーションデータの復元の一環として BareMetalHosts リソースを復元する場合、BareMetalHosts ステータスを復元する必要があります。次の RHACM Restore リソースの例では、BareMetalHosts を含むアクティベーションリソースを復元し、BareMetalHosts リソースのステータスも復元します。

apiVersion: cluster.open-cluster-management.io/v1beta1
kind: Restore
metadata:
  name: restore-acm-bmh
  namespace: open-cluster-management-backup
spec:
  cleanupBeforeRestore: CleanupRestored
  veleroManagedClustersBackupName: latest 1
  veleroCredentialsBackupName: latest
  veleroResourcesBackupName: latest
  restoreStatus:
    includedResources:
      - BareMetalHosts2
1
veleroManagedClustersBackupName: latest を設定して、アクティベーションリソースを復元します。
2
BareMetalHosts リソースのステータスを復元します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.