Chapitre 7. Quotas
7.1. Quotas de ressources par projet Copier lienLien copié sur presse-papiers!
Le quota de ressources, défini par un objet ResourceQuota, fournit des contraintes qui limitent la consommation globale de ressources par projet. Il peut limiter la quantité d’objets qui peuvent être créés dans un projet par type, ainsi que la quantité totale de ressources de calcul et de stockage qui pourraient être consommés par les ressources de ce projet.
Ce guide décrit comment fonctionnent les quotas de ressources, comment les administrateurs de clusters peuvent définir et gérer les quotas de ressources par projet, et comment les développeurs et les administrateurs de clusters peuvent les voir.
7.1.1. Les ressources gérées par les quotas Copier lienLien copié sur presse-papiers!
Ce qui suit décrit l’ensemble des ressources de calcul et des types d’objets qui peuvent être gérés par un quota.
Le pod est dans un état terminal si Status.phase dans (Failed, Succeed) est vrai.
Le nom de la ressource | Description |
---|---|
| La somme des requêtes CPU dans tous les pods dans un état non terminal ne peut pas dépasser cette valeur. CPU et request.cpu sont la même valeur et peuvent être utilisés de manière interchangeable. |
| La somme des requêtes de mémoire dans tous les pods dans un état non terminal ne peut pas dépasser cette valeur. la mémoire et les requêtes.memory sont la même valeur et peuvent être utilisées de manière interchangeable. |
| La somme des requêtes CPU dans tous les pods dans un état non terminal ne peut pas dépasser cette valeur. CPU et request.cpu sont la même valeur et peuvent être utilisés de manière interchangeable. |
| La somme des requêtes de mémoire dans tous les pods dans un état non terminal ne peut pas dépasser cette valeur. la mémoire et les requêtes.memory sont la même valeur et peuvent être utilisées de manière interchangeable. |
| La somme des limites CPU sur toutes les gousses dans un état non terminal ne peut pas dépasser cette valeur. |
| La somme des limites de mémoire à travers tous les pods dans un état non terminal ne peut pas dépasser cette valeur. |
Le nom de la ressource | Description |
---|---|
| La somme des demandes de stockage sur toutes les revendications de volume persistant dans n’importe quel état ne peut pas dépasser cette valeur. |
| Le nombre total de revendications de volume persistant qui peuvent exister dans le projet. |
| La somme des demandes de stockage pour toutes les revendications de volume persistantes dans n’importe quel état ayant une classe de stockage correspondante ne peut pas dépasser cette valeur. |
| Le nombre total de revendications de volume persistant avec une classe de stockage correspondante qui peut exister dans le projet. |
| La somme des demandes de stockage éphémères locales dans toutes les gousses dans un état non terminal ne peut pas dépasser cette valeur. le stockage éphémère et les requêtes.ephemeral-stockage sont la même valeur et peuvent être utilisés de manière interchangeable. |
| La somme des demandes de stockage éphémères dans toutes les gousses dans un état non terminal ne peut pas dépasser cette valeur. le stockage éphémère et les requêtes.ephemeral-stockage sont la même valeur et peuvent être utilisés de manière interchangeable. |
| La somme des limites de stockage éphémères dans toutes les gousses dans un état non terminal ne peut pas dépasser cette valeur. |
Le nom de la ressource | Description |
---|---|
| Le nombre total de pods dans un état non terminal qui peut exister dans le projet. |
| Le nombre total de RéplicationControllers qui peuvent exister dans le projet. |
| Le nombre total de quotas de ressources pouvant exister dans le projet. |
| Le nombre total de services pouvant exister dans le projet. |
| Le nombre total de services de type LoadBalancer qui peuvent exister dans le projet. |
| Le nombre total de services de type NodePort pouvant exister dans le projet. |
| Le nombre total de secrets qui peuvent exister dans le projet. |
| Le nombre total d’objets ConfigMap pouvant exister dans le projet. |
| Le nombre total de revendications de volume persistant qui peuvent exister dans le projet. |
| Le nombre total de flux d’images pouvant exister dans le projet. |
7.1.2. Champ d’application des quotas Copier lienLien copié sur presse-papiers!
Chaque quota peut avoir un ensemble de portées associées. Le quota ne mesure l’utilisation d’une ressource que s’il correspond à l’intersection des périmètres énumérés.
L’ajout d’une portée à un quota limite l’ensemble des ressources auxquelles ce quota peut s’appliquer. La spécification d’une ressource en dehors de l’ensemble autorisé entraîne une erreur de validation.
Champ d’application | Description |
| Assortir des gousses qui ont le meilleur effort de qualité de service pour le cpu ou la mémoire. |
| Assortir des gousses qui n’ont pas le meilleur effort de qualité de service pour le cpu et la mémoire. |
La portée de BestEffort limite un quota à la limitation des ressources suivantes:
-
les gousses
La portée NotBestEffort limite un quota au suivi des ressources suivantes:
-
les gousses
-
la mémoire
-
demandes.memory
-
Limites.memory
-
CPU
-
demandes.cpu
-
limites.cpu
7.1.3. Application des quotas Copier lienLien copié sur presse-papiers!
Après la création d’un quota de ressources pour un projet, le projet restreint la possibilité de créer de nouvelles ressources qui pourraient violer une contrainte de quota jusqu’à ce qu’il ait calculé des statistiques d’utilisation mises à jour.
Après la création d’un quota et la mise à jour des statistiques d’utilisation, le projet accepte la création de nouveaux contenus. Lorsque vous créez ou modifiez des ressources, votre utilisation de quota est incrémentée immédiatement à la demande de créer ou de modifier la ressource.
Lorsque vous supprimez une ressource, votre utilisation des quotas est décrémentée lors de la prochaine recalcul complet des statistiques des quotas pour le projet. Le temps configurable détermine combien de temps il faut pour réduire les statistiques d’utilisation des quotas à la valeur actuelle du système observé.
Lorsque les modifications de projet dépassent une limite d’utilisation de quota, le serveur refuse l’action, et un message d’erreur approprié est renvoyé à l’utilisateur expliquant la contrainte de quota violée, et quelles sont les statistiques d’utilisation actuellement observées dans le système.
7.1.4. Demandes par rapport aux limites Copier lienLien copié sur presse-papiers!
Lors de l’attribution des ressources de calcul, chaque conteneur peut spécifier une requête et une valeur limite chacune pour le stockage CPU, mémoire et éphémère. Les quotas peuvent restreindre l’une de ces valeurs.
Lorsque le quota a une valeur spécifiée pour request.cpu ou request.memory, il exige que chaque conteneur entrant fasse une demande explicite pour ces ressources. Lorsque le quota a une valeur spécifiée pour limits.cpu ou limits.memory, il exige que chaque conteneur entrant spécifie une limite explicite pour ces ressources.
7.1.5. Exemples de définitions des quotas de ressources Copier lienLien copié sur presse-papiers!
Core-object-counts.yaml
- 1
- Le nombre total d’objets ConfigMap pouvant exister dans le projet.
- 2
- Le nombre total de revendications en volume persistant (PVC) qui peuvent exister dans le projet.
- 3
- Le nombre total de contrôleurs de réplication pouvant exister dans le projet.
- 4
- Le nombre total de secrets qui peuvent exister dans le projet.
- 5
- Le nombre total de services pouvant exister dans le projet.
- 6
- Le nombre total de services de type LoadBalancer qui peuvent exister dans le projet.
ajouter au panier OpenShift-object-counts.yaml
- 1
- Le nombre total de flux d’images pouvant exister dans le projet.
calcul-resources.yaml
- 1
- Le nombre total de pods dans un état non terminal qui peut exister dans le projet.
- 2
- Dans tous les pods dans un état non terminal, la somme des requêtes CPU ne peut pas dépasser 1 cœur.
- 3
- Dans tous les pods dans un état non terminal, la somme des requêtes de mémoire ne peut pas dépasser 1Gi.
- 4
- Dans toutes les gousses dans un état non terminal, la somme des limites CPU ne peut pas dépasser 2 cœurs.
- 5
- Dans toutes les gousses dans un état non terminal, la somme des limites de mémoire ne peut pas dépasser 2Gi.
le meilleur effort.yaml
calcul-ressources-long-running.yaml
- 1
- Le nombre total de gousses dans un état non terminal.
- 2
- Dans toutes les gousses dans un état non terminal, la somme des limites CPU ne peut pas dépasser cette valeur.
- 3
- Dans toutes les gousses dans un état non-terminal, la somme des limites de mémoire ne peut pas dépasser cette valeur.
- 4
- Limite le quota à des pods correspondant uniquement lorsque spec.activeDeadlineSeconds est fixé à zéro. Les pods de construction relèvent de Non-Terminating à moins que la politique de redémarrage ne soit appliquée.
calcul-resources-time-bound.yaml
- 1
- Le nombre total de pods dans un état de terminaison.
- 2
- Dans tous les pods dans un état de terminaison, la somme des limites CPU ne peut pas dépasser cette valeur.
- 3
- Dans tous les pods dans un état de terminaison, la somme des limites de mémoire ne peut pas dépasser cette valeur.
- 4
- Limite le quota à des pods correspondant uniquement lorsque spec.activeDeadlineSeconds >=0. À titre d’exemple, ce quota coûte des pods de construction ou de déploiement, mais pas des pods en cours d’exécution comme un serveur Web ou une base de données.
conservation-consommation.yaml
- 1
- Le nombre total de réclamations en volume persistant dans un projet
- 2
- Dans toutes les demandes de volume persistantes dans un projet, la somme de stockage demandée ne peut pas dépasser cette valeur.
- 3
- Dans toutes les revendications de volume persistantes dans un projet, la somme de stockage demandée dans la classe de stockage aurifère ne peut pas dépasser cette valeur.
- 4
- Dans toutes les revendications de volume persistantes dans un projet, la somme de stockage demandée dans la classe de stockage d’argent ne peut pas dépasser cette valeur.
- 5
- Dans toutes les revendications en volume persistant dans un projet, le nombre total de revendications dans la classe de stockage d’argent ne peut pas dépasser cette valeur.
- 6
- Dans toutes les demandes de volume persistantes dans un projet, la somme de stockage demandée dans la classe de stockage de bronze ne peut pas dépasser cette valeur. Lorsque cela est réglé à 0, cela signifie que la classe de stockage en bronze ne peut pas demander de stockage.
- 7
- Dans toutes les demandes de volume persistantes dans un projet, la somme de stockage demandée dans la classe de stockage de bronze ne peut pas dépasser cette valeur. Lorsque cela est réglé à 0, cela signifie que la classe de stockage de bronze ne peut pas créer de revendications.
- 8
- Dans toutes les gousses dans un état non terminal, la somme des demandes de stockage éphémère ne peut pas dépasser 2Gi.
- 9
- Dans toutes les gousses dans un état non terminal, la somme des limites de stockage éphémères ne peut pas dépasser 4Gi.
7.1.6. Créer un quota Copier lienLien copié sur presse-papiers!
Il est possible de créer un quota pour limiter l’utilisation des ressources dans un projet donné.
Procédure
- Définissez le quota dans un fichier.
À utiliser le fichier pour créer le quota et l’appliquer à un projet:
oc create -f <file> [-n <project_name>]
$ oc create -f <file> [-n <project_name>]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow À titre d’exemple:
oc create -f core-object-counts.yaml -n demoproject
$ oc create -f core-object-counts.yaml -n demoproject
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.1.6.1. Création de quotas de comptage d’objets Copier lienLien copié sur presse-papiers!
Il est possible de créer un quota de nombre d’objets pour tous les types de ressources standard d’espacement de noms sur Red Hat OpenShift Service sur AWS, tels que les objets BuildConfig et DeploymentConfig. Le nombre de quotas d’objets place un quota défini sur tous les types de ressources standard en espace de noms.
Lors de l’utilisation d’un quota de ressources, un objet est facturé sur le quota lors de la création. Ces types de quotas sont utiles pour protéger contre l’épuisement des ressources. Le quota ne peut être créé que s’il y a suffisamment de ressources de rechange dans le projet.
Procédure
Configurer un quota de nombre d’objets pour une ressource:
Exécutez la commande suivante:
oc create quota <name> \ --hard=count/<resource>.<group>=<quota>,count/<resource>.<group>=<quota>
$ oc create quota <name> \ --hard=count/<resource>.<group>=<quota>,count/<resource>.<group>=<quota>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- La variable <resource> est le nom de la ressource, et <group> est le groupe API, le cas échéant. Utilisez la commande oc api-ressources pour une liste de ressources et leurs groupes API associés.
À titre d’exemple:
oc create quota test \ --hard=count/deployments.extensions=2,count/replicasets.extensions=4,count/pods=3,count/secrets=4
$ oc create quota test \ --hard=count/deployments.extensions=2,count/replicasets.extensions=4,count/pods=3,count/secrets=4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
resourcequota "test" created
resourcequota "test" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cet exemple limite les ressources répertoriées à la limite dure de chaque projet du cluster.
Assurez-vous que le quota a été créé:
oc describe quota test
$ oc describe quota test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.1.6.2. Fixation d’un quota de ressources pour les ressources étendues Copier lienLien copié sur presse-papiers!
Le surengagement des ressources n’est pas autorisé pour les ressources étendues, vous devez donc spécifier les demandes et les limites pour la même ressource étendue dans un quota. Actuellement, seuls les éléments de quota avec les demandes de préfixe. est autorisé pour les ressources étendues. Ce qui suit est un scénario d’exemple de la façon de définir le quota de ressources pour la ressource GPU nvidia.com/gpu.
Procédure
Déterminez combien de GPU sont disponibles sur un nœud dans votre cluster. À titre d’exemple:
oc describe node ip-172-31-27-209.us-west-2.compute.internal | egrep 'Capacity|Allocatable|gpu'
# oc describe node ip-172-31-27-209.us-west-2.compute.internal | egrep 'Capacity|Allocatable|gpu'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans cet exemple, 2 GPU sont disponibles.
Créez un objet ResourceQuota pour définir un quota dans l’espace de noms nvidia. Dans cet exemple, le quota est 1:
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer le quota:
oc create -f gpu-quota.yaml
# oc create -f gpu-quota.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
resourcequota/gpu-quota created
resourcequota/gpu-quota created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que l’espace de noms a le bon jeu de quotas:
oc describe quota gpu-quota -n nvidia
# oc describe quota gpu-quota -n nvidia
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Name: gpu-quota Namespace: nvidia Resource Used Hard -------- ---- ---- requests.nvidia.com/gpu 0 1
Name: gpu-quota Namespace: nvidia Resource Used Hard -------- ---- ---- requests.nvidia.com/gpu 0 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Définissez un pod qui demande un seul GPU. Le fichier de définition d’exemple suivant est appelé gpu-pod.yaml:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer le pod:
oc create -f gpu-pod.yaml
# oc create -f gpu-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que le pod est en cours d’exécution:
oc get pods
# oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME READY STATUS RESTARTS AGE gpu-pod-s46h7 1/1 Running 0 1m
NAME READY STATUS RESTARTS AGE gpu-pod-s46h7 1/1 Running 0 1m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que le compteur utilisé est correct:
oc describe quota gpu-quota -n nvidia
# oc describe quota gpu-quota -n nvidia
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Name: gpu-quota Namespace: nvidia Resource Used Hard -------- ---- ---- requests.nvidia.com/gpu 1 1
Name: gpu-quota Namespace: nvidia Resource Used Hard -------- ---- ---- requests.nvidia.com/gpu 1 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Essayez de créer un deuxième pod GPU dans l’espace de noms nvidia. Ceci est techniquement disponible sur le nœud car il dispose de 2 GPU:
oc create -f gpu-pod.yaml
# oc create -f gpu-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Error from server (Forbidden): error when creating "gpu-pod.yaml": pods "gpu-pod-f7z2w" is forbidden: exceeded quota: gpu-quota, requested: requests.nvidia.com/gpu=1, used: requests.nvidia.com/gpu=1, limited: requests.nvidia.com/gpu=1
Error from server (Forbidden): error when creating "gpu-pod.yaml": pods "gpu-pod-f7z2w" is forbidden: exceeded quota: gpu-quota, requested: requests.nvidia.com/gpu=1, used: requests.nvidia.com/gpu=1, limited: requests.nvidia.com/gpu=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ce message d’erreur interdit est attendu parce que vous avez un quota de 1 GPU et ce pod a essayé d’allouer un second GPU, qui dépasse son quota.
7.1.7. Affichage d’un quota Copier lienLien copié sur presse-papiers!
Les statistiques d’utilisation liées à toute limite dure définie dans le quota d’un projet peuvent être affichées en naviguant dans la console Web vers la page Quota du projet.
Il est également possible d’utiliser le CLI pour afficher les détails des quotas.
Procédure
Demandez la liste des quotas définis dans le projet. À titre d’exemple, pour un projet appelé démoproject:
oc get quota -n demoproject
$ oc get quota -n demoproject
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME AGE REQUEST LIMIT besteffort 4s pods: 1/2 compute-resources-time-bound 10m pods: 0/2 limits.cpu: 0/1, limits.memory: 0/1Gi core-object-counts 109s configmaps: 2/10, persistentvolumeclaims: 1/4, replicationcontrollers: 1/20, secrets: 9/10, services: 2/10
NAME AGE REQUEST LIMIT besteffort 4s pods: 1/2 compute-resources-time-bound 10m pods: 0/2 limits.cpu: 0/1, limits.memory: 0/1Gi core-object-counts 109s configmaps: 2/10, persistentvolumeclaims: 1/4, replicationcontrollers: 1/20, secrets: 9/10, services: 2/10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Décrivez le quota qui vous intéresse, par exemple le quota des comptes d’objets de base:
oc describe quota core-object-counts -n demoproject
$ oc describe quota core-object-counts -n demoproject
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.1.8. Configuration des quotas de ressources explicites Copier lienLien copié sur presse-papiers!
Configurez des quotas de ressources explicites dans un modèle de demande de projet pour appliquer des quotas de ressources spécifiques dans de nouveaux projets.
Conditions préalables
- Accès au cluster en tant qu’utilisateur avec le rôle cluster-admin.
- Installez le OpenShift CLI (oc).
Procédure
Ajouter une définition de quota de ressources à un modèle de demande de projet:
Lorsqu’un modèle de demande de projet n’existe pas dans un cluster:
Créer un modèle de projet bootstrap et le produire dans un fichier appelé template.yaml:
oc adm create-bootstrap-project-template -o yaml > template.yaml
$ oc adm create-bootstrap-project-template -o yaml > template.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajoutez une définition de quota de ressource à template.yaml. L’exemple suivant définit un quota de ressources nommé « stockage-consommation ». La définition doit être ajoutée avant les paramètres: section dans le modèle:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le nombre total de revendications en volume persistant dans un projet.
- 2
- Dans toutes les demandes de volume persistantes dans un projet, la somme de stockage demandée ne peut pas dépasser cette valeur.
- 3
- Dans toutes les revendications de volume persistantes dans un projet, la somme de stockage demandée dans la classe de stockage aurifère ne peut pas dépasser cette valeur.
- 4
- Dans toutes les revendications de volume persistantes dans un projet, la somme de stockage demandée dans la classe de stockage d’argent ne peut pas dépasser cette valeur.
- 5
- Dans toutes les revendications en volume persistant dans un projet, le nombre total de revendications dans la classe de stockage d’argent ne peut pas dépasser cette valeur.
- 6
- Dans toutes les demandes de volume persistantes dans un projet, la somme de stockage demandée dans la classe de stockage de bronze ne peut pas dépasser cette valeur. Lorsque cette valeur est définie à 0, la classe de stockage bronze ne peut pas demander de stockage.
- 7
- Dans toutes les demandes de volume persistantes dans un projet, la somme de stockage demandée dans la classe de stockage de bronze ne peut pas dépasser cette valeur. Lorsque cette valeur est définie à 0, la classe de stockage de bronze ne peut pas créer de revendications.
Créer un modèle de demande de projet à partir du fichier template.yaml modifié dans l’espace de noms openshift-config:
oc create -f template.yaml -n openshift-config
$ oc create -f template.yaml -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteAfin d’inclure la configuration en tant qu’annotation de configuration kubectl.kubernetes.io/last-applied-configuration, ajoutez l’option --save-config à la commande oc create.
Le modèle s’appelle par défaut project-request.
Lorsqu’un modèle de demande de projet existe déjà au sein d’un cluster:
NoteLorsque vous gérez des objets de manière déclarative ou impérative au sein de votre cluster en utilisant des fichiers de configuration, modifiez plutôt le modèle de demande de projet existant via ces fichiers.
Liste des modèles dans l’espace de noms openshift-config:
oc get templates -n openshift-config
$ oc get templates -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Éditer un modèle de demande de projet existant:
oc edit template <project_request_template> -n openshift-config
$ oc edit template <project_request_template> -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Ajoutez une définition de quota de ressource, telle que l’exemple précédent de stockage-consommation, dans le modèle existant. La définition doit être ajoutée avant les paramètres : section dans le modèle.
Lorsque vous avez créé un modèle de demande de projet, faites-le référence dans la ressource de configuration de projet du cluster:
Accédez à la ressource de configuration du projet pour l’édition:
En utilisant la console web:
-
Accédez à la page Administration
Paramètres du cluster. - Cliquez sur Configuration pour afficher toutes les ressources de configuration.
- Cherchez l’entrée pour Projet et cliquez sur Modifier YAML.
-
Accédez à la page Administration
En utilisant le CLI:
Editez la ressource project.config.openshift.io/cluster:
oc edit project.config.openshift.io/cluster
$ oc edit project.config.openshift.io/cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Actualisez la section Spécification de la ressource de configuration du projet pour inclure les paramètres projectRequestTemplate et nom. L’exemple suivant fait référence au nom de modèle de demande de projet par défaut:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Assurez-vous que le quota de ressources est appliqué lors de la création des projets:
Créer un projet:
oc new-project <project_name>
$ oc new-project <project_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Énumérez les quotas de ressources du projet:
oc get resourcequotas
$ oc get resourcequotas
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Décrivez en détail le quota de ressources:
oc describe resourcequotas <resource_quota_name>
$ oc describe resourcequotas <resource_quota_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow