7.2. Quotas de ressources pour plusieurs projets


Le quota multiprojet, défini par un objet ClusterResourceQuota, permet de partager les quotas entre plusieurs projets. Les ressources utilisées dans chaque projet sélectionné sont agrégées et cet agrégat est utilisé pour limiter les ressources pour tous les projets sélectionnés.

Ce guide décrit comment les administrateurs de clusters peuvent définir et gérer les quotas de ressources sur plusieurs projets.

Important

Évitez d’exécuter des charges de travail ou de partager l’accès aux projets par défaut. Les projets par défaut sont réservés à l’exécution de composants de cluster de base.

Les projets par défaut suivants sont considérés comme hautement privilégiés: par défaut, kube-public, kube-system, openshift, openshift-infra, openshift-node, et d’autres projets créés par système qui ont l’étiquette openshift.io / run-level définie à 0 ou 1. La fonctionnalité qui repose sur des plugins d’admission, tels que l’admission de sécurité pod, les contraintes de contexte de sécurité, les quotas de ressources de cluster et la résolution de référence d’image, ne fonctionne pas dans des projets hautement privilégiés.

Lorsque vous créez des quotas, vous pouvez sélectionner plusieurs projets en fonction de la sélection d’annotation, de la sélection d’étiquettes ou des deux.

Procédure

  1. Afin de sélectionner des projets basés sur des annotations, exécutez la commande suivante:

    $ oc create clusterquota for-user \
         --project-annotation-selector openshift.io/requester=<user_name> \
         --hard pods=10 \
         --hard secrets=20
    Copy to Clipboard Toggle word wrap

    Cela crée l’objet ClusterResourceQuota suivant:

    apiVersion: quota.openshift.io/v1
    kind: ClusterResourceQuota
    metadata:
      name: for-user
    spec:
      quota: 
    1
    
        hard:
          pods: "10"
          secrets: "20"
      selector:
        annotations: 
    2
    
          openshift.io/requester: <user_name>
        labels: null 
    3
    
    status:
      namespaces: 
    4
    
      - namespace: ns-one
        status:
          hard:
            pods: "10"
            secrets: "20"
          used:
            pods: "1"
            secrets: "9"
      total: 
    5
    
        hard:
          pods: "10"
          secrets: "20"
        used:
          pods: "1"
          secrets: "9"
    Copy to Clipboard Toggle word wrap
    1
    L’objet ResourceQuotaSpec qui sera appliqué sur les projets sélectionnés.
    2
    C’est un simple sélecteur de valeur clé pour les annotations.
    3
    Le sélecteur d’étiquettes qui peut être utilisé pour sélectionner des projets.
    4
    Carte per-namespace qui décrit l’utilisation actuelle des quotas dans chaque projet sélectionné.
    5
    L’utilisation globale de tous les projets sélectionnés.

    Ce document de quota multi-projets contrôle tous les projets demandés par &lt;user_name&gt; à l’aide du point de terminaison de requête par défaut. Il est limité à 10 pods et 20 secrets.

  2. De même, pour sélectionner des projets basés sur des étiquettes, exécutez cette commande:

    $  oc create clusterresourcequota for-name \
    1
    
        --project-label-selector=name=frontend \
    2
    
        --hard=pods=10 --hard=secrets=20
    Copy to Clipboard Toggle word wrap
    1
    Les deux clusterssourcequota et clusterquota sont des alias de la même commande. for-name est le nom de l’objet ClusterResourceQuota.
    2
    Afin de sélectionner des projets par étiquette, fournissez une paire clé-valeur en utilisant le format --project-label-selector=key=value.

    Cela crée la définition d’objet ClusterResourceQuota suivante:

    apiVersion: quota.openshift.io/v1
    kind: ClusterResourceQuota
    metadata:
      creationTimestamp: null
      name: for-name
    spec:
      quota:
        hard:
          pods: "10"
          secrets: "20"
      selector:
        annotations: null
        labels:
          matchLabels:
            name: frontend
    Copy to Clipboard Toggle word wrap

L’administrateur de projet n’est pas autorisé à créer ou modifier le quota multiprojets qui limite son projet, mais l’administrateur est autorisé à consulter les documents de quotas multiprojets qui sont appliqués à son projet. L’administrateur de projet peut le faire via la ressource AppliedClusterResourceQuota.

Procédure

  1. Afin de voir les quotas appliqués à un projet, exécutez:

    $ oc describe AppliedClusterResourceQuota
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    Name:   for-user
    Namespace:  <none>
    Created:  19 hours ago
    Labels:   <none>
    Annotations:  <none>
    Label Selector: <null>
    AnnotationSelector: map[openshift.io/requester:<user-name>]
    Resource  Used  Hard
    --------  ----  ----
    pods        1     10
    secrets     9     20
    Copy to Clipboard Toggle word wrap

7.2.3. Granularité de sélection

En raison du blocage de la demande d’allocations de quotas, le nombre de projets actifs sélectionnés par un quota multiprojets est une considération importante. La sélection de plus de 100 projets dans le cadre d’un seul quota multi-projets peut avoir des effets néfastes sur la réactivité des serveurs API dans ces projets.

Retour au début
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

© 2025 Red Hat