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