12.6. Migration Toolkit for Virtualization (MTV) プロバイダーについて


OpenShift Container Platform クラスター間で仮想マシンを移行するには、移行に含めるクラスターごとに OpenShift Container Platform プロバイダーを設定する必要があります。すでにクラスターに MTV がインストールされている場合は、ローカルプロバイダーがすでに存在します。

重要

クラスター間のライブマイグレーションはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

12.6.1. プロバイダーのルート認証局の設定

移行に含めるクラスターごとに OpenShift Container Platform プロバイダーを設定する必要があり、各プロバイダーにはクラスターの認証局 (CA) が必要です。プロバイダーの障害の原因となる CA の有効期限を回避するために、クラスター全体にルート CA を設定することが重要です。

手順

  1. プロバイダーを作成するクラスターに対して次のコマンドを実行します。

    $ oc get cm kube-root-ca.crt -o=jsonpath={.data.ca\\.crt}
    Copy to Clipboard Toggle word wrap
  2. 出力された証明書をコピーします。
  3. Migration Toolkit for Virtualization (MTV) Web コンソールで、プロバイダーを作成して OpenShift Virtualization を選択します。
  4. 次の例に示すように、証明書を CA certificate フィールドにペーストします。

    -----BEGIN CERTIFICATE-----
    <CA_certificate_content>
    -----END CERTIFICATE-----
    Copy to Clipboard Toggle word wrap

12.6.2. MTV プロバイダーで使用する長期間有効なサービスアカウントとトークンを作成する

Migration Toolkit for Virtualization (MTV) Web コンソールで OpenShift Virtualization プロバイダーを登録する場合、MTV がクラスターと対話できるようにする認証情報を提供する必要があります。長期間有効なサービスアカウントとクラスターロールバインディングを作成すると、移行中に仮想マシンリソースの読み取りと作成を行うための永続的な権限が MTV に付与されます。

手順

  1. 次の例に示すように、クラスターロールを作成します。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: live-migration-role
    rules:
      - apiGroups:
          - forklift.konveyor.io
        resources:
          - '*'
        verbs:
          - get
          - list
          - watch
      - apiGroups:
          - ""
        resources:
          - secrets
          - namespaces
          - configmaps
          - persistentvolumes
          - persistentvolumeclaims
        verbs:
          - get
          - list
          - watch
          - create
          - update
          - patch
          - delete
      - apiGroups:
          - k8s.cni.cncf.io
        resources:
          - network-attachment-definitions
        verbs:
          - get
          - list
          - watch
      - apiGroups:
          - storage.k8s.io
        resources:
          - storageclasses
        verbs:
          - get
          - list
          - watch
      - apiGroups:
          - kubevirt.io
        resources:
          - virtualmachines
          - virtualmachines/finalizers
          - virtualmachineinstancemigrations
        verbs:
          - get
          - list
          - watch
          - create
          - update
          - patch
          - delete
      - apiGroups:
          - kubevirt.io
        resources:
          - kubevirts
          - virtualmachineinstances
        verbs:
          - get
          - list
          - watch
      - apiGroups:
          - cdi.kubevirt.io
        resources:
          - datavolumes
          - datavolumes/finalizers
        verbs:
          - get
          - list
          - watch
          - create
          - update
          - patch
          - delete
      - apiGroups:
          - apps
        resources:
          - deployments
        verbs:
          - get
          - list
          - watch
          - create
          - update
          - patch
          - delete
      - apiGroups:
          - instancetype.kubevirt.io
        resources:
          - virtualmachineclusterpreferences
          - virtualmachineclusterinstancetypes
        verbs:
          - get
          - list
          - watch
      - apiGroups:
          - instancetype.kubevirt.io
        resources:
          - virtualmachinepreferences
          - virtualmachineinstancetypes
        verbs:
          - get
          - list
          - watch
          - create
          - update
          - patch
          - delete
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、クラスターのロールを作成します。

    $ oc create -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行してサービスアカウントを作成します。

    $ oc create serviceaccount <service_account_name> -n <service_account_namespace>
    Copy to Clipboard Toggle word wrap
  4. 次のコマンドを実行して、サービスアカウントをクラスターロールにリンクするクラスターロールバインディングを作成します。

    $ oc create clusterrolebinding <service_account_name> --clusterrole=<cluster_role_name> --serviceaccount=<service_account_namespace>:<service_account_name>
    Copy to Clipboard Toggle word wrap
  5. 次のマニフェストを YAML ファイルとして保存して、トークンを保持するシークレットを作成します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: <name_of_secret>
      namespace: <namespace_for_service_account>
      annotations:
        kubernetes.io/service-account.name: <service_account_name>
    type: kubernetes.io/service-account-token
    Copy to Clipboard Toggle word wrap
  6. 次のコマンドを実行してマニフェストを適用します。

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  7. シークレットが入力されたら、次のコマンドを実行してサービスアカウントベアラートークンを取得します。

    $ TOKEN_BASE64=$(oc get secret "<name_of_secret>" -n "<namespace_bound_to_service_account>" -o jsonpath='{.data.token}')
      TOKEN=$(echo "$TOKEN_BASE64" | base64 --decode)
      echo "$TOKEN"
    Copy to Clipboard Toggle word wrap
  8. 出力されたトークンをコピーします。
  9. Migration Toolkit for Virtualization (MTV) Web コンソールでプロバイダーを作成し、OpenShift Virtualization を選択するときに、トークンを Service account bearer token フィールドにペーストします。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat