GNU/Linux >> Tutoriels Linux >  >> Linux

Comment déployer votre premier pod sur un cluster Kubernetes

Dans cet article, nous verrons comment créer notre premier Pod sur Kubernetes Cluster. Nous verrons les étapes pour créer un pod pour Nginx.

Un pod est l'unité d'exécution de base d'une application Kubernetes. Il s'agit d'un ensemble de conteneurs déployés ensemble sur le même hôte. Les pods d'un cluster Kubernetes peuvent être utilisés de deux manières :

  1. Pods qui exécutent un seul conteneur : C'est la façon la plus populaire d'utiliser un pod. Kubernetes gère les pods au lieu de gérer directement les conteneurs.
  2. Pods qui exécutent plusieurs conteneurs qui doivent fonctionner ensemble : Dans ce modèle, un pod peut avoir plusieurs conteneurs étroitement couplés pour partager des ressources.

Comme indiqué ci-dessus, un pod peut contenir plusieurs conteneurs, il est toujours recommandé d'avoir un seul conteneur lorsque cela est possible. Le regroupement de plusieurs conteneurs dans un seul pod est un cas d'utilisation relativement avancé. Vous ne devez utiliser ce modèle que dans des cas spécifiques dans lesquels vos conteneurs sont étroitement couplés.

Si nous déployons un seul conteneur, nous pouvons généralement remplacer le mot "pod" par "container". Les pods permettent le partage de données et la communication entre leurs constituants.

Un pod s'exécute toujours sur un nœud. Un nœud est une machine de travail dans Kubernetes et peut être une machine virtuelle ou physique, selon le cluster. Chaque nœud est géré par le maître. Un nœud peut avoir plusieurs pods, et le maître Kubernetes gère automatiquement la planification des pods sur les nœuds du cluster.

Les 5 étapes du cycle de vie d'un pod

  1. En attente  : Le pod a été accepté par le système Kubernetes, mais une ou plusieurs des images de conteneur n'ont pas été créées. Cela inclut le temps avant la programmation ainsi que le temps passé à télécharger des images sur le réseau, ce qui peut prendre un certain temps.
  2. En cours d'exécution  : Le pod a été lié à un nœud et tous les conteneurs ont été créés. Au moins un conteneur est toujours en cours d'exécution ou est en train de démarrer ou de redémarrer.
  3. Réussi  : Tous les conteneurs du pod se sont terminés avec succès et ne seront pas redémarrés.
  4. Échec  : Tous les conteneurs du pod se sont arrêtés et au moins un conteneur s'est terminé par un échec. Autrement dit, le conteneur est soit sorti avec un statut différent de zéro, soit a été arrêté par le système.
  5. Inconnu  : Pour une raison quelconque, l'état du pod n'a pas pu être obtenu, généralement en raison d'une erreur de communication avec l'hôte du pod.

Prérequis

  1. Compte AWS (créez-le si vous n'en avez pas)
  2. Cluster Kubernetes (recherchez "Configurer un cluster Kubernetes sur AWS EC2 Instance Ubuntu 18.04 LTS à l'aide de kubeadm" si vous souhaitez apprendre à créer un cluster Kubernetes).

Remarque :Vous pouvez également utiliser des machines virtuelles pour créer un cluster si vous ne souhaitez pas essayer les instances AWS EC2.

Ce que nous allons faire

  1. Créer un pod Kubernetes pour NginX et le supprimer

Créer un pod Kubernetes pour Nginx

Pour créer notre premier pod, créons simplement un nouveau répertoire pour créer notre fichier Object/Pod. Utilisez la commande suivante pour créer un nouveau répertoire dans votre système

mkdir mon-premier-pod
cd mon-premier-pod/

Avant de continuer, vérifiez l'état du cluster.

Pour vérifier les nœuds disponibles dans le cluster et pour vérifier la version de "kubectl " utilisez les commandes suivantes.

sudo kubectl get nodes
version de sudo kubectl

Utilisez la commande suivante pour répertorier les pods dans l'espace de noms par défaut. Comme il s'agira de notre premier pod sur le cluster, vous ne verrez aucun pod dans l'espace de noms par défaut.

sudo kubectl obtenir des pods

Une fois que vous avez des nœuds disponibles dans le cluster, vous êtes prêt à créer votre premier pod.

Créez un fichier "my-first-pod.yml" avec le bloc de code suivant

vim mon-premier-pod.yml

---
apiVersion: v1
kind: Pod
metadata:
  name: myfirstpod
  labels:
    app: web
spec:
  containers:
    - name: myfirstcontainer
      image: nginx
      ports:
        - containerPort: 80

Ici,

  • apiVersion  :APIVersion définit le schéma versionné de cette représentation d'un objet.
  • genre :type d'objet que vous souhaitez créer. Ici, c'est pod puisque nous créons un pod.
  • nom :Le nom doit être unique dans un espace de noms.
  • libellés  :Carte des clés et des valeurs de chaîne pouvant être utilisées pour organiser et catégoriser les objets
  • spécification :Spécification du comportement souhaité du pod.

Vous êtes maintenant prêt à créer votre module à l'aide des commandes suivantes.

sudo kubectl apply -f my-first-pod.yml 

Vous pouvez obtenir les détails des pods à l'aide de la commande suivante.

sudo kubectl obtenir des pods

Pour vérifier si le pod est réellement en cours d'exécution, exécutez la commande suivante. Cela exécute une commande à l'intérieur de notre pod (Remarque : c'est similaire à l'exécution de docker exec .)

sudo kubectl exec myfirstpod :état du service nginx

Si vous n'avez plus besoin du pod, vous pouvez le supprimer à l'aide de la "commande kubectl delete".

sudo kubectl supprimer les pods myfirstpod

Enfin, pour vérifier si le pod a été supprimé, utilisez la commande suivante.

sudo kubectl obtenir des pods

Conclusion

Dans cet article, nous avons appris des choses de base sur les pods, leurs étapes de cycle de vie. Nous avons vu les étapes pour créer notre premier pod Nginx sur Kubernetes. Nous avons également vu comment les détails concernant le Pod peuvent être extraits. Parallèlement à cela, nous avons exploré la commande pour supprimer le pod.


Linux
  1. Comment déployer un cluster Redis sur Kubernetes

  2. Comment exécuter MongoDB sur Kubernetes

  3. Comment déployer RabbitMQ sur Kubernetes

  4. Comment déployer PostgreSQL sur Kubernetes

  5. Comment créer votre site Plesk

Comment déployer un cluster Kubernetes sur AWS avec Amazon EKS

Comment créer et gérer des pods Kubernetes sous Linux

Comment créer votre premier programme Java sur CentOS 8

Comment créer votre premier programme Java dans Debian 10

Comment déployer CouchDB en tant que cluster avec Docker

Comment déployer un service sur un cluster Docker Swarm