9.5.3. キャッシュされた Kubernetes クライアントの有効化

移行時にパフォーマンスを向上させるために、キャッシュされた Kubernetes クライアントを MigrationController カスタムリソース (CR) で有効にできます。パフォーマンスに関する利点は、異なるリージョンのクラスター間で移行する場合や、ネットワークレイテンシーが大きい場合の移行時に発揮されます。

注記

委譲されたタスク (例: 直接ボリューム移行または Velero バックアップおよび復元用の Rsync バックアップ) では、キャッシュされたクライアントのパフォーマンスは向上されません。

MigrationController CR は MigCluster CR との対話に必要なすべての API リソースをキャッシュするため、キャッシュされたクライアントには追加のメモリーが必要です。通常 API サーバーに送信される要求は、代わりにキャッシュに転送されます。このキャッシュは API サーバーで更新がないかを監視します。

キャッシュされたクライアントを有効にした後に OOMKilled エラーが発生すると、MigrationController CR のメモリー制限および要求を増やすことができます。

手順

  1. 以下のコマンドを実行して、キャッシュされたクライアントを有効化します。

    $ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \
      '[{ "op": "replace", "path": "/spec/mig_controller_enable_cache", "value": true}]'
  2. オプション: 以下のコマンドを実行して MigrationController CR メモリーの制限を増やします。

    $ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \
      '[{ "op": "replace", "path": "/spec/mig_controller_limits_memory", "value": <10Gi>}]'
  3. オプション: 以下のコマンドを実行して MigrationController CR メモリー要求を増やします。

    $ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \
      '[{ "op": "replace", "path": "/spec/mig_controller_requests_memory", "value": <350Mi>}]'