4.5. root または非 root として Rsync を実行する
このセクションは、Web コンソールではなく、OpenShift API を使用している場合にのみ適用されます。
OpenShift 環境では、PodSecurityAdmission コントローラーがデフォルトで有効になっています。このコントローラーでは、クラスター管理者がネームスペースラベルを使用して Pod セキュリティー標準を適用する必要があります。クラスター内のすべてのワークロードは、次の Pod セキュリティー標準レベルのいずれかを実行することが期待されます: Privileged、Baseline または Restricted。すべてのクラスターには、独自のデフォルトポリシーセットがあります。
すべての環境で正常なデータ転送を保証するために、Migration Toolkit for Containers (MTC) 1.7.5 では Rsync Pod に変更が導入されました。これには、デフォルトで非ルートユーザーとして Rsync Pod を実行することが含まれます。これにより、必ずしもより高い特権を必要としないワークロードでもデータ転送が可能になります。この変更が行われたのは、可能な限り低いレベルの特権でワークロードを実行するのが最善であるためです。
データ転送におけるデフォルトの非 root 操作の手動オーバーライド
ほとんどの場合、非 root ユーザーとして Rsync Pod を実行すると機能しますが、ソース側で root ユーザーとしてワークロードを実行すると、データ転送が失敗することがあります。MTC は、データ転送のデフォルトの非ルート操作を手動でオーバーライドする 2 つの方法を提供します。
- すべての移行の宛先クラスターで Rsync Pod をルートとして実行するように、すべての移行を設定します。
- 移行ごとに宛先クラスターで Rsync Pod をルートとして実行します。
どちらの場合も、移行前に、より高い権限でワークロードを実行している namespace のソース側に、enforce、audit、および warn のラベルを設定する必要があります。
Pod セキュリティーアドミッションとラベルの設定値の詳細は、Pod セキュリティーアドミッションの同期の制御 を参照してください。
4.5.1. すべての移行で MigrationController CR をルートまたは非ルートとして設定する
デフォルトでは、Rsync は非ルートとして実行されます。
宛先クラスターで、Rsync をルートとして実行するように MigrationController CR を設定できます。
手順
MigrationControllerCR を次のように設定します。apiVersion: migration.openshift.io/v1alpha1 kind: MigrationController metadata: name: migration-controller namespace: openshift-migration spec: [...] migration_rsync_privileged: true
この設定は、今後のすべての移行に適用されます。
4.5.2. 移行ごとにルートまたは非ルートとして MigMigration CR を設定する
移行先クラスターでは、MigMigration CR を設定して、次の非ルートオプションを使用して、ルートまたは非ルートとして Rsync を実行できます。
- 特定のユーザー ID (UID) として
- 特定のグループ ID (GID) として
手順
Rsync をルートとして実行するには、次の例に従って
MigMigrationCR を設定します。apiVersion: migration.openshift.io/v1alpha1 kind: MigMigration metadata: name: migration-controller namespace: openshift-migration spec: [...] runAsRoot: true
Rsync を特定のユーザー ID (UID) または特定のグループ ID (GID) として実行するには、次の例に従って
MigMigrationCR を設定します。apiVersion: migration.openshift.io/v1alpha1 kind: MigMigration metadata: name: migration-controller namespace: openshift-migration spec: [...] runAsUser: 10010001 runAsGroup: 3