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.
Ouvrez un terminal et démarrez Minikube :
minikube startCela initialise un cluster Kubernetes local. Minikube attribue automatiquement des ressources appropriées, mais vous pouvez les personnaliser en utilisant des options telles que
--cpuset--memorysi nécessaire.Vérifiez que Minikube est en cours d'exécution :
kubectl cluster-infoAssurez-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.
Exécutez la commande suivante pour créer le déploiement (deployment) :
kubectl create deployment hello-world --image=nginxCette commande crée un déploiement (deployment) nommé
hello - worldavec une seule réplique du conteneurnginx.Vérifiez que le déploiement (deployment) a été créé avec succès :
kubectl get deploymentsVérifiez la sortie pour vous assurer que
hello - worldapparaî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.
Exécutez la commande suivante pour afficher les sous - commandes disponibles de
kubectl set:kubectl set -hVous 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.Utilisez
kubectl set --helppour 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.
Utilisez la commande
kubectl setpour mettre à jour l'image de conteneur versnginx:1.19.10:kubectl set image deployment/hello-world nginx=nginx:1.19.10Cette commande met à jour le conteneur
nginxdans le déploiement (deployment)hello - world.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.
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=256MiCette commande définit les demandes de ressources à
500mde CPU et256Mide mémoire, et les limites à1CPU et512Mide mémoire.Vérifiez les paramètres de ressources en décrivant le déploiement (deployment) :
kubectl describe deployment hello-worldVérifiez les sections
LimitsetRequestsdans 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).
Ajoutez une étiquette
environment=developmentau déploiement (deployment)hello - world:kubectl label deployment hello-world environment=developmentCette commande ajoute une nouvelle étiquette au déploiement (deployment).
Vérifiez que l'étiquette a été appliquée :
kubectl get deployment hello-world --show-labelsVérifiez la colonne
LABELSpour l'étiquetteenvironment=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.
Ajoutez une annotation
owner=team-alphaau déploiementhello-world:kubectl annotate deployment hello-world owner=team-alphaCette commande ajoute une annotation au déploiement.
Vérifiez que l'annotation a été appliquée :
kubectl describe deployment hello-worldVérifiez la section
Annotationspourowner=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.


