Commande Set de Kubernetes

KubernetesBeginner
Pratiquer maintenant

Introduction

La commande set dans Kubernetes est un outil polyvalent qui vous permet de modifier la configuration des ressources Kubernetes existantes. Cette commande permet des ajustements tels que la mise à jour des images de conteneurs et la configuration des demandes et limites de ressources, tout cela sans éditer directement les fichiers YAML. Elle simplifie la gestion des ressources et améliore l'efficacité opérationnelle.

À la fin de ce labo (LabEx), vous comprendrez comment :

  • Démarrer un cluster Kubernetes.
  • Mettre à jour l'image de conteneur d'un déploiement (deployment).
  • Configurer les demandes et limites de ressources pour un déploiement (deployment).
  • Modifier les étiquettes (labels) et les annotations sur un déploiement (deployment) en utilisant les commandes appropriées.

Ce labo (LabEx) est conçu pour les débutants et suppose que vous travaillez sur un système Linux Ubuntu avec les outils Kubernetes installés. Aucune expérience préalable avec Kubernetes n'est requise.

Démarrer un cluster Kubernetes

Avant d'interagir avec les ressources Kubernetes, assurez-vous qu'un cluster Kubernetes est en cours d'exécution. Pour ce labo (LabEx), nous utiliserons Minikube pour configurer un cluster Kubernetes mono - noeud.

  1. Ouvrez un terminal et démarrez Minikube :

    minikube start

    Cela initialise un cluster Kubernetes local. Minikube attribue automatiquement des ressources appropriées, mais vous pouvez les personnaliser en utilisant des options telles que --cpus et --memory si nécessaire.

  2. Vérifiez que Minikube est en cours d'exécution :

    kubectl cluster-info

    Assurez-vous que la sortie confirme que le cluster est opérationnel.

Créer un déploiement (Deployment)

Une fois le cluster en cours d'exécution, créez un simple déploiement (deployment) Kubernetes nommé hello - world en utilisant l'image nginx.

  1. Exécutez la commande suivante pour créer le déploiement (deployment) :

    kubectl create deployment hello-world --image=nginx

    Cette commande crée un déploiement (deployment) nommé hello - world avec une seule réplique du conteneur nginx.

  2. Vérifiez que le déploiement (deployment) a été créé avec succès :

    kubectl get deployments

    Vérifiez la sortie pour vous assurer que hello - world apparaît dans la liste des déploiements (deployments).

Explorer la commande kubectl set

La commande kubectl set propose plusieurs sous - commandes pour configurer et modifier les ressources d'application. Elle permet de gérer des aspects spécifiques tels que les variables d'environnement, les images de conteneurs et les paramètres de ressources.

  1. Exécutez la commande suivante pour afficher les sous - commandes disponibles de kubectl set :

    kubectl set -h

    Vous verrez la sortie suivante :

    Configure application resources.
    
    These commands help you make changes to existing application resources.
    
    Available Commands:
      env              Update environment variables on a pod template
      image            Update the image of a pod template
      resources        Update resource requests/limits on objects with pod templates
      selector         Set the selector on a resource
      serviceaccount   Update the service account of a resource
      subject          Update the user, group, or service account in a role binding or cluster role binding
    
    Usage:
      kubectl set SUBCOMMAND [options]
    
    Use "kubectl --help" for more information about a given command. Use "kubectl options" for a list of global command-line options (applies to all commands).

    Passez en revue les sous - commandes disponibles et leurs descriptions pour comprendre comment utiliser kubectl set.

  2. Utilisez kubectl set --help pour explorer des détails supplémentaires sur chaque sous - commande si nécessaire.

Mettre à jour l'image de conteneur

Ensuite, mettez à jour l'image de conteneur dans le déploiement (deployment) hello - world vers une version spécifique.

  1. Utilisez la commande kubectl set pour mettre à jour l'image de conteneur vers nginx:1.19.10 :

    kubectl set image deployment/hello-world nginx=nginx:1.19.10

    Cette commande met à jour le conteneur nginx dans le déploiement (deployment) hello - world.

  2. Vérifiez la mise à jour de l'image en interrogeant l'image de conteneur :

    kubectl get deployment hello-world -o jsonpath='{.spec.template.spec.containers[0].image}'

    Assurez-vous que la sortie affiche nginx:1.19.10.

Configurer les demandes et les limites de ressources

La gestion des ressources est essentielle pour les déploiements (deployments) Kubernetes. Définissez les demandes et les limites de ressources pour le déploiement (deployment) hello - world.

  1. Configurez les demandes et les limites de CPU et de mémoire :

    kubectl set resources deployment/hello-world --limits=cpu=1,memory=512Mi --requests=cpu=500m,memory=256Mi

    Cette commande définit les demandes de ressources à 500m de CPU et 256Mi de mémoire, et les limites à 1 CPU et 512Mi de mémoire.

  2. Vérifiez les paramètres de ressources en décrivant le déploiement (deployment) :

    kubectl describe deployment hello-world

    Vérifiez les sections Limits et Requests dans la sortie pour confirmer la configuration.

Modifier les étiquettes (labels) sur le déploiement (Deployment)

Les étiquettes (labels) permettent de catégoriser et d'organiser les ressources Kubernetes. Utilisez la commande kubectl label pour ajouter ou modifier des étiquettes sur le déploiement (deployment).

  1. Ajoutez une étiquette environment=development au déploiement (deployment) hello - world :

    kubectl label deployment hello-world environment=development

    Cette commande ajoute une nouvelle étiquette au déploiement (deployment).

  2. Vérifiez que l'étiquette a été appliquée :

    kubectl get deployment hello-world --show-labels

    Vérifiez la colonne LABELS pour l'étiquette environment=development.

Mettre à jour les annotations sur le déploiement (Deployment)

Les annotations fournissent des métadonnées aux ressources Kubernetes. Utilisez la commande kubectl annotate pour ajouter ou mettre à jour des annotations sur le déploiement.

  1. Ajoutez une annotation owner=team-alpha au déploiement hello-world :

    kubectl annotate deployment hello-world owner=team-alpha

    Cette commande ajoute une annotation au déploiement.

  2. Vérifiez que l'annotation a été appliquée :

    kubectl describe deployment hello-world

    Vérifiez la section Annotations pour owner=team-alpha.

Résumé

Dans ce laboratoire, vous avez appris à utiliser la commande set de Kubernetes pour gérer efficacement les déploiements (deployments). Vous avez :

  • Démarré un cluster Kubernetes.
  • Créé un déploiement (deployment).
  • Mis à jour l'image de conteneur.
  • Configuré les demandes et les limites de ressources.
  • Modifié les étiquettes (labels) et les annotations en utilisant les commandes appropriées.

Ces compétences sont essentielles pour gérer efficacement les applications Kubernetes.