Un pod peut également avoir un ou plusieurs conteneurs, dont l'un est le conteneur d'application, et les autres sont le conteneur init, qui s'arrête une fois qu'il a terminé un travail ou le conteneur d'application est prêt à remplir sa fonction, et le conteneur Sidecar, qui est apposé sur le conteneur d'application principal. Un conteneur ou une nacelle ne partira pas toujours en raison d'une défaillance de l'application. Dans des scénarios comme celui-ci, vous devrez redémarrer explicitement votre pod Kubernetes. Dans ce guide, vous explorerez comment forcer les pods dans un déploiement pour redémarrer en utilisant plusieurs façons.
Conditions préalables
Pour redémarrer le pod à l'aide de Kubectl, assurez-vous que vous avez installé l'outil Kubectl avec le cluster Minikube. Sinon, vous ne pourrez pas mettre en œuvre l'article prescrit.
Remarque: nous mettons en œuvre ce guide sur Ubuntu 20.04 Système Linux. Cependant, le système d'exploitation peut varier selon vos besoins.
Méthodes pour redémarrer les pods à l'aide de kubectl
Pour redémarrer les pods à l'aide de Kubectl, vous devez d'abord exécuter le cluster Minikube en utilisant la commande annexe suivante dans le terminal.
$ minikube start
Ce processus prendra un certain temps, vous devez donc attendre un certain temps pour terminer efficacement le processus. Maintenant, nous sommes prêts à énumérer les pods à l'aide de la commande apposée.
$ kubectl obtenir des pods
Vous pouvez vérifier cela pour le moment; Un seul pod est présent dans le système. Maintenant, nous allons créer un déploiement. Ainsi, initialement, nous devons créer un fichier de configuration pour le déploiement. Créez le fichier dans le répertoire domestique de votre système par la commande apposée.
$ tactile déploiement.Yaml
Le fichier sera créé dans votre répertoire domestique. Ouvrez-le et notez le script ci-dessous dans le fichier de configuration et enregistrez-le.
Créez maintenant le déploiement par la commande Kubectl apposée suivante.
$ kubectl Créer -F Déploiement.yaml
Le déploiement sera créé avec succès, comme indiqué dans l'image jointe. Maintenant, encore une fois, enrôlez toutes les gousses de votre système en utilisant le kubectl apposé commande.
$ kubectl obtenir des pods
Découvrez que les 2 pods fonctionnent maintenant comme affiché dans la capture d'écran ci-dessus.
Méthode 1:
Un redémarrage roulant sera utilisé pour redémarrer chaque pod dans l'ordre du déploiement. C'est la stratégie la plus recommandée car elle ne provoquera pas de pause de service. Écrivez la commande ci-dessous dans le terminal.
$ KUBECTL ROLORT RETROYAGE
Remplacez le selon vos besoins.
La commande mentionnée ci-dessus la redémarrera. Votre application sera accessible car la plupart des conteneurs fonctionneront.
Méthode 2:
La deuxième méthode consiste à obliger les pods à redémarrer et à synchroniser avec les modifications que vous avez apportées en définissant ou en modifiant une variable d'environnement.
$ kubectl set le déploiementDeploy_date = "$ (date)"
Remplacez le selon vos besoins.
Méthode 3:
La réduction du nombre de copies de déploiement à zéro et la réduction de l'état approprié est une autre méthode pour redémarrer les pods. Cela oblige toutes les gousses actuelles à cesser et à se terminer, suivie de la planification des gousses fraîches à leur place. Limiter le nombre de copies à 0 entraînera une panne. Par conséquent, un redémarrage roulant est conseillé. Utilisez la commande annexe suivante pour définir les répliques d'un déploiement sur 0.
Disposage à l'échelle de $ Kubectl--répliques = 0
Remplacez le selon vos besoins.
L'échelle de commande spécifie le nombre de répliques qui doivent être actives pour chaque pod. Il arrête efficacement le processus lorsque les utilisateurs le définissent à zéro. Pour recommencer ledit pod, nous allons définir sa valeur de réplique supérieure à 0.
Disposage à l'échelle de $ Kubectl--répliques = 1
Remplace le <nom de déploiement> Selon vos besoins.
Conclusion
Kubernetes est une plate-forme d'orchestration de conteneurs efficace. Cependant, des difficultés surviennent, comme ils le font avec tous les systèmes. Ainsi, le redémarrage de votre pod ne résoudra pas le problème fondamental qui l'a fait échouer en premier lieu, alors assurez-vous d'identifier et de résoudre la cause profonde. J'espère que vous pourrez facilement redémarrer votre pod en suivant l'une des méthodes expliquées dans ce guide.