9.4.6. MTCAPI を使用した Kubernetes オブジェクトの状態移行の実行

すべての PV データを移行した後に、Migration Toolkit for Containers (MTC) API を使用して、アプリケーションを設定する Kubernetes オブジェクトの状態を移行を 1 回限りで実行できます。

これを行うには、MigPlan カスタムリソース (CR) フィールドを設定して、Kubernetes リソースのリストに追加のラベルセレクターを提供し、それらのリソースをさらにフィルターリングしてから、MigMigrationCR を作成して移行します。MigPlan リソースは、移行後に終了します。

注記

Kubernetes リソースの選択は API 限定の機能です。CLI を使用して、MigPlan CR を更新し、その MigMigrationCR を作成する必要があります。MTC Web コンソールは、Kubernetes オブジェクトの移行をサポートしていません。

注記

移行後に、MigPlan CR の closed パラメーターは true に設定されます。この MigPlan CR の別の MigMigration CR を作成することはできません。

以下のいずれかのオプションを使用して、Kubernetes オブジェクトを MigPlan CR に追加します。

  • Kubernetes オブジェクトを includedResources セクションに追加します。MigPlan CR で includedResources フィールドが指定されている場合に、プランは グループの種類 のリストを入力として受け取ります。リストに存在するリソースのみが移行に含まれます。
  • オプションの labelSelector パラメーターを追加して、MigPlanincludedResources をフィルター処理します。このフィールドを指定すると、ラベルセレクターに一致するリソースのみが移行に含まれます。たとえば、ラベル app:frontend をフィルターとして使用して、Secret リソースと ConfigMap リソースのリストをフィルターリングできます。

手順

  1. MigPlan CR を更新して、Kubernetes リソースを含め、オプションで、labelSelector パラメーターを追加して含まれているリソースをフィルターリングします。

    1. MigPlan CR を更新して Kubernetes リソースを含めるには以下を実行します。

      apiVersion: migration.openshift.io/v1alpha1
      kind: MigPlan
      metadata:
        name: <migplan>
        namespace: openshift-migration
      spec:
        includedResources:
        - kind: <kind> 1
          group: ""
        - kind: <kind>
          group: ""
      1
      Kubernetes オブジェクトを指定します (例: Secret または ConfigMap)。
    2. オプション: labelSelector パラメーターを追加して、含まれているリソースをフィルター処理するには、次のようにします。

      apiVersion: migration.openshift.io/v1alpha1
      kind: MigPlan
      metadata:
        name: <migplan>
        namespace: openshift-migration
      spec:
        includedResources:
        - kind: <kind> 1
          group: ""
        - kind: <kind>
          group: ""
      ...
        labelSelector:
          matchLabels:
            <label> 2
      1
      Kubernetes オブジェクトを指定します (例: Secret または ConfigMap)。
      2
      移行するリソースのラベルを指定します (例: app: frontend)。
  2. MigMigration CR を作成して、選択した Kubernetes リソースを移行します。正しい MigPlanmigPlanRef で参照されていることを確認します。

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigMigration
    metadata:
      generateName: <migplan>
      namespace: openshift-migration
    spec:
      migPlanRef:
        name: <migplan>
        namespace: openshift-migration
      stage: false