GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un déploiement dans Kubernetes

Les déploiements représentent un ensemble de pods identiques. Un déploiement exécute plusieurs copies de l'application. Il remplace automatiquement toutes les instances qui échouent. Cela permet de s'assurer qu'une ou plusieurs instances de l'application sont toujours opérationnelles. Les déploiements sont gérés par le contrôleur de déploiement Kubernetes. Les déploiements utilisent un modèle de pod, qui contient une spécification pour ses pods.

Un déploiement Kubernetes est un objet de ressource dans Kubernetes qui fournit des mises à jour déclaratives aux applications.

Pour en savoir plus sur les spécifications de déploiement, consultez la documentation de l'API Kubernetes

Dans cet article, nous allons apprendre à créer un déploiement dans Kubernetes et à effectuer des opérations dessus.

Pré-requis

Cluster Kubernetes avec au moins 1 noeud worker.
Si vous souhaitez apprendre à créer un cluster Kubernetes, cliquez ici. Ce guide vous aidera à créer un cluster Kubernetes avec 1 maître et 2 nœuds sur les instances AWS Ubuntu 18l04 EC2.

Ce que nous allons faire

Créer un déploiement

Créer un déploiement

Créez un fichier et ajoutez-y la définition de déploiement suivante.

vim my-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: httpd-frontend
  name: httpd-frontend
spec:
  replicas: 1
  selector:
    matchLabels:
      app: httpd-frontend
  template:
    metadata:
      labels:
        app: httpd-frontend
    spec:
      containers:
      - image: httpd:2.4-alpine
        name: httpd



Dans cet exemple :

  • Un déploiement nommé httpd-frontend sera créé, indiqué par metadata: name champ.
  • Le déploiement créera 1 réplica du pod, indiqué par les replicas champ.
  • Le modèle de pod, ou spec: template , indique que ses pods sont libellés app: httpd-frontend .
  • La spécification du modèle de pod, ou template: spec , indique que les pods exécutent un conteneur, httpd, qui exécute l'image httpd : à la version 2.4-alpine.

Utilisez la commande suivante pour créer un déploiement

kubectl create -f my-deployment.yaml

Une fois que vous avez créé un déploiement, vous pouvez obtenir ses détails à l'aide de la commande suivante.

kubectl get deployment | grep httpd-frontend

Le déploiement a créé un jeu de répliques, pour le répertorier, utilisez la commande suivante.

kubectl get replicaset | grep httpd-frontend

Les pods créés par l'ensemble de réplicas peuvent être répertoriés à l'aide de la commande suivante qui répertorie les pods correspondant au nom spécifié.


kubectl get pods | grep httpd-frontend

Maintenant, vous pouvez tester la création automatique du pod si l'existant échoue en le supprimant.

Pour supprimer le pod existant, utilisez les commandes suivantes.


kubectl get pods | grep httpd-frontend
kubectl delete pod httpd-frontend-74fd6fd8cd-8nj2s
kubectl get pods | grep httpd-frontend

Dans la capture d'écran ci-dessus, vous pouvez voir que le pod a été créé après la suppression du pod existant.

Désormais, même si le jeu de répliques est supprimé, le déploiement le créera.

Pour tester cela, supprimez le jeu de répliques à l'aide de la commande suivante.


kubectl get replicaset | grep httpd-frontend
kubectl delete replicaset httpd-frontend-74fd6fd8cd
kubectl get replicaset | grep httpd-frontend

Dans la capture d'écran ci-dessus, vous pouvez voir que même après avoir supprimé le jeu de répliques, il a été créé.

Pour voir un peu plus d'informations sur le pod, "-o wide" peut être utilisé dans la commande comme suit.

kubectl get pods | grep httpd-frontend
kubectl get pods -o wide | grep httpd-frontend

Pour obtenir les informations complètes du pod, il peut être décrit à l'aide de la commande suivante.

kubectl describe pod httpd-frontend

Désormais, si vous n'avez plus besoin de déployer votre application à l'aide du déploiement, vous pouvez la supprimer en supprimant le déploiement.

Utilisez les commandes suivantes pour supprimer le déploiement.

kubectl get deployment | grep httpd-frontend
kubectl delete deployment httpd-frontend
kubectl get deployment | grep httpd-frontend

Dans la capture d'écran ci-dessus, vous pouvez voir qu'après avoir supprimé le déploiement, il n'a pas été créé. Mais si vous supprimez le pod ou le jeu de répliques qui ont été créés dans le cadre du déploiement, ils sont créés.

Conclusion

Dans cet article, nous avons appris à créer un déploiement et essayé l'opération de suppression sur Pod, Replicaset et Deployment.


Linux
  1. Comment déployer votre premier pod sur un cluster Kubernetes

  2. Comment créer des balises Git

  3. Comment supprimer un déploiement Kubernetes [Quick K8s Tips]

  4. Comment supprimer un service dans Kubernetes

  5. Comment créer un lien vers un répertoire

Comment créer un fichier Tar Gz

Comment créer un module Terraform

Comment créer un StatefulSet dans Kubernetes

Créer votre premier déploiement sur un cluster Kubernetes

Comment créer un cluster Kubernetes avec AWS CLI

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