9.2. Quotas de ressources pour plusieurs projets
Un quota multi-projets, 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 dans tous les projets sélectionnés.
Ce guide décrit comment les administrateurs de clusters peuvent définir et gérer des quotas de ressources pour plusieurs projets.
9.2.1. Sélection de plusieurs projets lors de la création de quotas
Lors de la création de quotas, vous pouvez sélectionner plusieurs projets sur la base d'une sélection d'annotations, d'une sélection d'étiquettes ou des deux.
Procédure
Pour sélectionner des projets en fonction 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
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"
- 1
- L'objet
ResourceQuotaSpec
qui sera appliqué aux projets sélectionnés. - 2
- Un simple sélecteur clé-valeur pour les annotations.
- 3
- Un sélecteur d'étiquettes qui peut être utilisé pour sélectionner des projets.
- 4
- Une carte par espace de nommage 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
<user_name>
en utilisant le point de terminaison de demande de projet par défaut. Vous êtes limité à 10 pods et 20 secrets.De même, pour sélectionner des projets en fonction des étiquettes, exécutez la commande suivante :
$ oc create clusterresourcequota for-name \1 --project-label-selector=name=frontend \2 --hard=pods=10 --hard=secrets=20
Cela crée la définition d'objet suivante :
ClusterResourceQuota
: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
9.2.2. Affichage des quotas de ressources applicables aux clusters
Un administrateur de projet n'est pas autorisé à créer ou à modifier le quota multi-projets qui limite son projet, mais il est autorisé à consulter les documents relatifs au quota multi-projets qui sont appliqués à son projet. L'administrateur de projet peut le faire via la ressource AppliedClusterResourceQuota
.
Procédure
Pour afficher les quotas appliqués à un projet, exécutez :
$ oc describe AppliedClusterResourceQuota
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
9.2.3. Granularité de la sélection
Le nombre de projets actifs sélectionnés par un quota multiprojets est un élément important en raison des considérations de verrouillage lors de la demande d'attribution de quotas. La sélection de plus de 100 projets dans le cadre d'un quota multiprojets unique peut avoir des effets néfastes sur la réactivité du serveur API dans ces projets.