Quotas de ressources et limites de ressources
Évitez les problèmes causés par les voisins trop gourmands et les charges de travail incontrôlées en appliquant des ResourceQuotas au niveau des espaces de noms et des LimitRanges pour chaque pod.
Quotas de ressources et limites de ressources est une leçon Kubernetes Basics gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kubernetes Basics, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kubernetes Basics comprend 4 leçons au total.
Garde-fous pour les clusters partagés
Dans un cluster partagé, une équipe peut accidentellement tout consommer. Les ResourceQuotas et les LimitRanges servent de garde-fous : ils maintiennent l’équité entre les espaces de noms et évitent les pannes.
Qu’est-ce qu’une ResourceQuota ?
Une ResourceQuota plafonne le total des ressources qu’un espace de noms peut consommer : processeur, mémoire et nombre d’objets tels que les pods ou les services.
Un quota de calcul
Ce quota limite le total des demandes et des limites pour tous les pods de l’espace de noms.
apiVersion: v1
kind: ResourceQuota
metadata:
name: team-compute
namespace: team-a
spec:
hard:
requests.cpu: '4'
requests.memory: 8Gi
limits.cpu: '8'
limits.memory: 16GiQuotas de nombre d’objets
Les quotas peuvent également plafonner le nombre d’objets de chaque type, afin d’éviter une prolifération accidentelle.
spec:
hard:
pods: '20'
services: '5'
persistentvolumeclaims: '10'Règle d’application du quota
Lorsqu’un ResourceQuota pour le calcul est configuré, chaque Pod doit déclarer des demandes et des limites, faute de quoi il est rejeté. Le quota ne peut pas prendre en compte des Pods sans limite.
Vérifier l’utilisation du quota
Examinez la quantité d’un quota consommée à tout moment.
kubectl describe resourcequota team-compute -n team-a
# Resource Used Hard
# requests.cpu 2 4
# requests.memory 3Gi 8GiQu’est-ce qu’un LimitRange ?
Un LimitRange applique des valeurs par défaut et des bornes pour chaque objet au sein d’un espace de noms, de sorte que les Pods individuels restent contraints même si un développeur oublie de définir les valeurs.
Valeurs par défaut et bornes
Un LimitRange peut définir automatiquement les demandes et les limites par défaut et imposer des valeurs minimales et maximales par conteneur.
apiVersion: v1
kind: LimitRange
metadata:
name: container-limits
namespace: team-a
spec:
limits:
- type: Container
default:
cpu: 500m
memory: 256Mi
defaultRequest:
cpu: 250m
memory: 128Mi
max:
cpu: '2'
memory: 1GiComment fonctionnent-ils ensemble
LimitRange complète les valeurs par défaut de chaque conteneur ; ResourceQuota additionne ensuite tous les éléments et les compare au plafond de l’espace de noms. Ensemble, ils garantissent à la fois un dimensionnement raisonnable pour chaque Pod et un total équitable pour l’espace de noms.
Diagnostiquer les rejets
Si un Pod est rejeté, l’erreur indique la règle en cause. Lisez-la attentivement : elle vous précise si vous avez dépassé le quota ou enfreint une borne de LimitRange.
# exceeded quota: team-compute, requested: requests.cpu=2, used: 3, limited: 4
# maximum cpu usage per Container is 2, but limit is 4Conseils pour la production
- Définissez un LimitRange afin que les demandes oubliées ne perturbent pas le quota
- Dimensionnez les quotas à partir de l’utilisation réelle, avec une marge pour les pics
- Examinez régulièrement l’utilisation et ajustez-la à mesure que les équipes grandissent
Vérification rapide
Vérifiez votre compréhension des garde-fous des espaces de noms.
Récapitulatif
Vous avez appris à garantir l’équité avec les ResourceQuotas (plafonds à l’échelle de l’espace de noms pour le calcul et le nombre d’objets) et les LimitRanges (valeurs par défaut et bornes par conteneur). Utilisés ensemble, ils évitent les problèmes de voisin bruyant et maintiennent la stabilité des clusters partagés, une bonne pratique essentielle en production.
Questions Fréquemment Posées
La leçon « Quotas de ressources et limites de ressources » est-elle gratuite ?
Oui — le texte complet de « Quotas de ressources et limites de ressources » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kubernetes Basics, passe à CoddyKit PRO. Le cours Kubernetes Basics comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Quotas de ressources et limites de ressources » ?
Évitez les problèmes causés par les voisins trop gourmands et les charges de travail incontrôlées en appliquant des ResourceQuotas au niveau des espaces de noms et des LimitRanges pour chaque pod. Tu pratiques Kubernetes Basics avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Kubernetes Basics ?
Aucune expérience préalable n'est requise. Kubernetes Basics sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Quotas de ressources et limites de ressources » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Kubernetes Basics ?
Oui. Chaque leçon Kubernetes Basics inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Diagnostiquer les problèmes courants
- Déboguer les Pods et les Services
- Bonnes pratiques et conseils pour la production
- Quotas de ressources et limites de ressources