3.6. Utilisation de fsGroup pour réduire les délais d'attente des pods
Si un volume de stockage contient de nombreux fichiers (~1.000.000 ou plus), vous pouvez rencontrer des dépassements de temps de pod.
Cela peut se produire car, par défaut, OpenShift Container Platform modifie récursivement la propriété et les permissions pour le contenu de chaque volume afin qu'il corresponde à l'adresse fsGroup
spécifiée dans l'adresse securityContext
d'un pod lorsque ce volume est monté. Pour les gros volumes, la vérification et la modification de la propriété et des autorisations peuvent prendre du temps, ce qui ralentit le démarrage du pod. Vous pouvez utiliser le champ fsGroupChangePolicy
à l'intérieur d'un securityContext
pour contrôler la façon dont OpenShift Container Platform vérifie et gère la propriété et les permissions pour un volume.
fsGroupChangePolicy
définit le comportement à adopter pour modifier la propriété et les autorisations du volume avant de l'exposer à l'intérieur d'un module. Ce champ ne s'applique qu'aux types de volumes qui prennent en charge la propriété et les autorisations contrôlées par fsGroup
. Ce champ a deux valeurs possibles :
-
OnRootMismatch
: Ne modifiez les autorisations et la propriété que si les autorisations et la propriété du répertoire racine ne correspondent pas aux autorisations prévues pour le volume. Cela peut permettre de raccourcir le temps nécessaire pour modifier la propriété et les autorisations d'un volume afin de réduire les délais d'attente des pods. -
Always
: Toujours modifier l'autorisation et la propriété du volume lorsqu'un volume est monté.
fsGroupChangePolicy
exemple
securityContext:
runAsUser: 1000
runAsGroup: 3000
fsGroup: 2000
fsGroupChangePolicy: "OnRootMismatch" 1
...
- 1
OnRootMismatch
spécifie qu'il faut ignorer le changement récursif de permission, ce qui permet d'éviter les problèmes de dépassement de délai pour les pods.
Le champ fsGroupChangePolicy n'a aucun effet sur les types de volumes éphémères, tels que secret, configMap et emptydir.