Affichage de l'utilisation des ressources dans Kubernetes

KubernetesKubernetesBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

L'utilisation des ressources est un aspect important de toute application s'exécutant dans un cluster Kubernetes. En surveillant l'utilisation des ressources, vous pouvez identifier les problèmes de performance, optimiser vos ressources et améliorer l'efficacité globale de vos applications. Dans ce laboratoire (lab), nous allons explorer comment afficher l'utilisation des ressources dans un cluster Kubernetes en utilisant le metrics-server. Nous aborderons l'utilisation du CPU et de la mémoire.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/ClusterManagementCommandsGroup(["Cluster Management Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/TroubleshootingandDebuggingCommandsGroup(["Troubleshooting and Debugging Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicsGroup(["Basics"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes/BasicsGroup -.-> kubernetes/initialization("Initialization") kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/ClusterManagementCommandsGroup -.-> kubernetes/top("Top") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/describe("Describe") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/logs("Logs") subgraph Lab Skills kubernetes/initialization -.-> lab-11358{{"Affichage de l'utilisation des ressources dans Kubernetes"}} kubernetes/get -.-> lab-11358{{"Affichage de l'utilisation des ressources dans Kubernetes"}} kubernetes/top -.-> lab-11358{{"Affichage de l'utilisation des ressources dans Kubernetes"}} kubernetes/describe -.-> lab-11358{{"Affichage de l'utilisation des ressources dans Kubernetes"}} kubernetes/logs -.-> lab-11358{{"Affichage de l'utilisation des ressources dans Kubernetes"}} end

Démarrer le cluster Minikube

Avant de créer des ressources, vous avez besoin d'un cluster Kubernetes en cours d'exécution. Minikube est un environnement Kubernetes léger qui s'exécute sur votre machine locale.

  1. Accédez à votre répertoire de travail :

    Ouvrez le terminal et accédez au dossier de projet par défaut :

    cd /home/labex/project
  2. Démarrez Minikube :

    Démarrez Minikube pour initialiser un cluster Kubernetes :

    minikube start
    • Cette commande configure un cluster Kubernetes mono - noeud sur votre machine locale.
    • Minikube peut prendre quelques minutes à démarrer en fonction des performances de votre système.
  3. Vérifiez que Minikube est en cours d'exécution :

    Vérifiez l'état du cluster Minikube :

    minikube status
    • Recherchez des composants tels que kubelet et apiserver listés comme Running (en cours d'exécution).
    • Si le cluster n'est pas en cours d'exécution, relancez la commande minikube start.

Si vous rencontrez des problèmes lors du démarrage de Minikube, utilisez minikube delete pour réinitialiser l'environnement si nécessaire.

Activer le metrics-server

Le metrics-server est un composant Kubernetes qui collecte des métriques à partir de divers objets Kubernetes et les fournit dans un format utilisable pour d'autres composants Kubernetes. Avant de pouvoir afficher l'utilisation des ressources dans notre cluster Kubernetes, nous devons activer le metrics-server.

minikube addons enable metrics-server

Cette commande activera le metrics-server dans votre cluster Kubernetes.

Exécutez la commande suivante pour vérifier si le metrics-server est en cours d'exécution :

kubectl get pods --namespace=kube-system | grep metrics-server

Afficher l'utilisation du CPU et de la mémoire

Pour afficher l'utilisation du CPU et de la mémoire dans un cluster Kubernetes, nous allons utiliser la commande kubectl top. Cette commande vous permet de voir en temps réel l'utilisation des ressources des objets Kubernetes.

## Afficher l'utilisation du CPU et de la mémoire pour tous les pods dans un namespace spécifique
kubectl top pods --namespace=kube-system

## Afficher l'utilisation du CPU et de la mémoire pour tous les nœuds du cluster
kubectl top nodes

Cette commande affichera les statistiques actuelles d'utilisation du CPU et de la mémoire pour tous les pods dans le namespace spécifié ou pour tous les nœuds du cluster.

Afficher l'utilisation du CPU et de la mémoire des conteneurs

Pour afficher l'utilisation du CPU et de la mémoire des conteneurs s'exécutant à l'intérieur des pods, nous allons de nouveau utiliser la commande kubectl top.

Créez un simple pod qui servira de modèle pour les réplicas. Créez un fichier nommé myapp-pod.yaml dans /home/labex/project/ avec le contenu suivant :

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
spec:
  containers:
    - name: myapp-container
      image: nginx
      ports:
        - containerPort: 80

Créez le pod en utilisant la commande suivante :

kubectl apply -f myapp-pod.yaml

Ensuite, utilisez la commande suivante pour afficher l'utilisation du CPU et de la mémoire d'un conteneur spécifique à l'intérieur d'un pod :

kubectl top pod myapp-pod --namespace=default --containers=true

Cette commande affichera les statistiques actuelles d'utilisation du CPU et de la mémoire pour le conteneur spécifié à l'intérieur du pod spécifié.

Résumé

Félicitations! Vous avez réussi le laboratoire (lab) Kubernetes sur l'affichage de l'utilisation des ressources. Dans ce laboratoire, vous avez appris à afficher les statistiques d'utilisation des ressources pour le CPU et la mémoire dans un cluster Kubernetes. En utilisant le metrics-server, vous pouvez désormais surveiller l'utilisation des ressources de vos applications, optimiser vos ressources et améliorer l'efficacité globale de vos applications s'exécutant dans un cluster Kubernetes.