9.7.5. コントロールプレーンのワークロードのバックアップ


Backup カスタムリソース (CR) を作成することで、コントロールプレーンのワークロードをバックアップできます。手順は、プラットフォームが AWS かベアメタルかによって異なります。

9.7.5.1. AWS におけるコントロールプレーンのワークロードのバックアップ

Backup カスタムリソース (CR) を作成することで、コントロールプレーンのワークロードをバックアップできます。

バックアッププロセスを監視および観察するには、「バックアップおよび復元プロセスの観察」を参照してください。

手順

  1. 次のコマンドを実行して、HostedCluster リソースのリコンシリエーションを一時停止します。

    $ oc --kubeconfig <management_cluster_kubeconfig_file> \
      patch hostedcluster -n <hosted_cluster_namespace> <hosted_cluster_name> \
      --type json -p '[{"op": "add", "path": "/spec/pausedUntil", "value": "true"}]'
  2. 次のコマンドを実行して、ホステッドクラスターのインフラストラクチャー ID を取得します。

    $ oc get hostedcluster -n local-cluster <hosted_cluster_name> -o=jsonpath="{.spec.infraID}"

    次のステップで使用するインフラストラクチャー ID をメモします。

  3. 次のコマンドを実行して、cluster.cluster.x-k8s.io リソースのリコンシリエーションを一時停止します。

    $ oc --kubeconfig <management_cluster_kubeconfig_file> \
      patch cluster.cluster.x-k8s.io \
      -n local-cluster-<hosted_cluster_name> <hosted_cluster_infra_id> \
      --type json -p '[{"op": "add", "path": "/spec/paused", "value": true}]'
  4. 次のコマンドを実行して、NodePool リソースのリコンシリエーションを一時停止します。

    $ oc --kubeconfig <management_cluster_kubeconfig_file> \
      patch nodepool -n <hosted_cluster_namespace> <node_pool_name> \
      --type json -p '[{"op": "add", "path": "/spec/pausedUntil", "value": "true"}]'
  5. 次のコマンドを実行して、AgentCluster リソースのリコンシリエーションを一時停止します。

    $ oc --kubeconfig <management_cluster_kubeconfig_file> \
      annotate agentcluster -n <hosted_control_plane_namespace>  \
      cluster.x-k8s.io/paused=true --all'
  6. 次のコマンドを実行して、AgentMachine リソースのリコンシリエーションを一時停止します。

    $ oc --kubeconfig <management_cluster_kubeconfig_file> \
      annotate agentmachine -n <hosted_control_plane_namespace>  \
      cluster.x-k8s.io/paused=true --all'
  7. 次のコマンドを実行して、HostedCluster リソースにアノテーションを付け、Hosted Control Plane namespace が削除されないようにします。

    $ oc --kubeconfig <management_cluster_kubeconfig_file> \
      annotate hostedcluster -n <hosted_cluster_namespace> <hosted_cluster_name> \
      hypershift.openshift.io/skip-delete-hosted-controlplane-namespace=true
  8. Backup CR を定義する YAML ファイルを作成します。

    例9.1 例: backup-control-plane.yaml ファイル

    apiVersion: velero.io/v1
    kind: Backup
    metadata:
      name: <backup_resource_name> 
    1
    
      namespace: openshift-adp
      labels:
        velero.io/storage-location: default
    spec:
      hooks: {}
      includedNamespaces: 
    2
    
      - <hosted_cluster_namespace> 
    3
    
      - <hosted_control_plane_namespace> 
    4
    
      includedResources:
      - sa
      - role
      - rolebinding
      - pod
      - pvc
      - pv
      - bmh
      - configmap
      - infraenv 
    5
    
      - priorityclasses
      - pdb
      - agents
      - hostedcluster
      - nodepool
      - secrets
      - hostedcontrolplane
      - cluster
      - agentcluster
      - agentmachinetemplate
      - agentmachine
      - machinedeployment
      - machineset
      - machine
      excludedResources: []
      storageLocation: default
      ttl: 2h0m0s
      snapshotMoveData: true 
    6
    
      datamover: "velero" 
    7
    
      defaultVolumesToFsBackup: true 
    8
    1
    backup_resource_nameBackup リソースの名前に置き換えます。
    2
    特定の namespace を選択して、そこからオブジェクトをバックアップします。ホステッドクラスターの namespace と Hosted Control Plane の namespace を含める必要があります。
    3
    <hosted_cluster_namespace> を、ホステッドクラスター namespace の名前 (例: clusters) に置き換えます。
    4
    <hosted_control_plane_namespace> は、Hosted Control Plane の namespace の名前 (例: clusters-hosted) に置き換えます。
    5
    infraenv リソースを別の namespace に作成する必要があります。バックアッププロセス中に infraenv リソースを削除しないでください。
    6 7
    CSI ボリュームスナップショットを有効にし、コントロールプレーンのワークロードをクラウドストレージに自動的にアップロードします。
    8
    永続ボリューム (PV) の fs-backup バックアップ方法をデフォルトとして設定します。この設定は、Container Storage Interface (CSI) ボリュームスナップショットと fs-backup 方式を組み合わせて使用する場合に便利です。
    注記

    CSI ボリュームスナップショットを使用する場合は、PV に backup.velero.io/backup-volumes-excludes=<pv_name> アノテーションを追加する必要があります。

  9. 次のコマンドを実行して、Backup CR を適用します。

    $ oc apply -f backup-control-plane.yaml

検証

  • 次のコマンドを実行して、status.phase の値が Completed になっているかどうかを確認します。

    $ oc get backups.velero.io <backup_resource_name> -n openshift-adp \
      -o jsonpath='{.status.phase}'

次のステップ

  • OADP を使用したホステッドクラスターの復元
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る