4.5. Exécuter Rsync en tant que root ou non-root


Important

Cette section s'applique uniquement lorsque vous travaillez avec l'API OpenShift, et non avec la console web.

Les environnements OpenShift ont le contrôleur PodSecurityAdmission activé par défaut. Ce contrôleur exige des administrateurs de cluster qu'ils appliquent les normes de sécurité des pods au moyen d'étiquettes d'espace de noms. Toutes les charges de travail du cluster sont censées exécuter l'un des niveaux de normes de sécurité pods suivants : Privileged Baseline ou Restricted. Chaque cluster dispose de son propre ensemble de règles par défaut.

Pour garantir la réussite du transfert de données dans tous les environnements, Migration Toolkit for Containers (MTC) 1.7.5 a introduit des changements dans les pods Rsync, notamment l'exécution des pods Rsync en tant qu'utilisateur non root par défaut. Cela garantit que le transfert de données est possible même pour les charges de travail qui ne nécessitent pas nécessairement des privilèges plus élevés. Cette modification a été apportée parce qu'il est préférable d'exécuter les charges de travail avec le niveau de privilèges le plus bas possible.

Remplacer manuellement l'opération non root par défaut pour le transfert de données

Bien que l'exécution des pods Rsync en tant qu'utilisateur non root fonctionne dans la plupart des cas, le transfert de données peut échouer lorsque vous exécutez des charges de travail en tant qu'utilisateur root du côté de la source. MTC propose deux façons de remplacer manuellement l'opération non-root par défaut pour le transfert de données :

  • Configurer toutes les migrations pour exécuter un pod Rsync en tant que root sur le cluster de destination pour toutes les migrations.
  • Exécuter un pod Rsync en tant que root sur le cluster de destination par migration.

Dans les deux cas, vous devez définir les étiquettes suivantes du côté source de tous les espaces de noms qui exécutent des charges de travail avec des privilèges plus élevés avant la migration : enforce, audit, et warn.

Pour en savoir plus sur l'admission à la sécurité des pods et la définition des valeurs des étiquettes, voir Contrôle de la synchronisation de l'admission à la sécurité des pods.

Par défaut, Rsync s'exécute en tant que non-root.

Sur le cluster de destination, vous pouvez configurer le CR MigrationController pour qu'il exécute Rsync en tant que root.

Procédure

  • Configurez le CR MigrationController comme suit :

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigrationController
    metadata:
      name: migration-controller
      namespace: openshift-migration
    spec:
      [...]
      migration_rsync_privileged: true

    Cette configuration s'appliquera à toutes les migrations futures.

Sur le cluster de destination, vous pouvez configurer le CR MigMigration pour qu'il exécute Rsync en tant que root ou non-root, avec les options non-root suivantes :

  • En tant qu'identifiant d'utilisateur spécifique (UID)
  • En tant qu'identifiant de groupe spécifique (GID)

Procédure

  1. Pour exécuter Rsync en tant que root, configurez le CR MigMigration selon cet exemple :

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigMigration
    metadata:
      name: migration-controller
      namespace: openshift-migration
    spec:
      [...]
      runAsRoot: true
  2. Pour exécuter Rsync en tant qu'identifiant d'utilisateur (UID) ou de groupe (GID) spécifique, configurez le CR MigMigration selon cet exemple :

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigMigration
    metadata:
      name: migration-controller
      namespace: openshift-migration
    spec:
      [...]
      runAsUser: 10010001
      runAsGroup: 3
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2026 Red Hat
Retour au début