11.5.3. キャッシュされた Kubernetes クライアントの有効化
移行時にパフォーマンスを向上させるために、キャッシュされた Kubernetes クライアントを MigrationController
カスタムリソース (CR) で有効にできます。パフォーマンスに関する利点は、異なるリージョンのクラスター間で移行する場合や、ネットワークレイテンシーが大きい場合の移行時に発揮されます。
委譲されたタスク (例: 直接ボリューム移行または Velero バックアップおよび復元用の Rsync バックアップ) では、キャッシュされたクライアントのパフォーマンスは向上されません。
MigrationController
CR は MigCluster
CR との対話に必要なすべての API リソースをキャッシュするため、キャッシュされたクライアントには追加のメモリーが必要です。通常 API サーバーに送信される要求は、代わりにキャッシュに転送されます。このキャッシュは API サーバーで更新がないかを監視します。
キャッシュされたクライアントを有効にした後に OOMKilled
エラーが発生すると、MigrationController
CR のメモリー制限および要求を増やすことができます。
手順
以下のコマンドを実行して、キャッシュされたクライアントを有効化します。
$ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \ '[{ "op": "replace", "path": "/spec/mig_controller_enable_cache", "value": true}]'
オプション: 以下のコマンドを実行して
MigrationController
CR メモリーの制限を増やします。$ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \ '[{ "op": "replace", "path": "/spec/mig_controller_limits_memory", "value": <10Gi>}]'
オプション: 以下のコマンドを実行して
MigrationController
CR メモリー要求を増やします。$ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \ '[{ "op": "replace", "path": "/spec/mig_controller_requests_memory", "value": <350Mi>}]'