GNU/Linux >> Tutoriels Linux >  >> Linux

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

Dans cet article, nous verrons comment créer votre premier déploiement sur un cluster Kubernetes. À titre d'exemple, nous allons créer un déploiement pour NginX.

Une fois que nous avons un cluster Kubernetes en cours d'exécution, nous pouvons déployer nos applications conteneurisées par-dessus. Nous pouvons créer une configuration de déploiement Kubernetes pour y parvenir.

Un déploiement fournit des mises à jour déclaratives pour les pods et les plicaSets. Nous décrivons un état souhaité dans le déploiement et le contrôleur de déploiement modifie l'état réel en l'état souhaité à un rythme contrôlé.

Nous pouvons créer et gérer un déploiement à l'aide de l'interface de ligne de commande Kubernetes "kubectl". Kubectl utilise l'API Kubernetes pour interagir avec le cluster.

Il y a trois étapes dans un cycle de vie de déploiement :

  1. Progression  : Kubernetes marque un déploiement comme progressant lorsque le déploiement crée un nouveau ReplicaSet, que le déploiement augmente son plus récent ReplicaSet ou réduit son ancien ReplicaSet ou que de nouveaux pods deviennent prêts ou disponibles 
  2. Compléter  : Kubernetes marque un déploiement comme terminé lorsque toutes les répliques associées au déploiement ont été mises à jour, sont disponibles, aucune ancienne réplique du déploiement n'est en cours d'exécution.
  3. Échec  : Cela peut se produire en raison d'un quota insuffisant, d'échecs de vérification de l'état de préparation, d'erreurs d'extraction d'image ou d'autorisations insuffisantes.

Pré-requis

  1. Compte AWS (créez-le si vous n'en avez pas)
  2. 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 déploiement Kubenetes pour NginX

Créer un déploiement Kubenetes pour NginX

Pour créer notre premier déploiement, créons simplement un nouveau répertoire pour créer notre objet/fichier de déploiement. Utilisez la commande suivante pour créer un nouveau répertoire dans votre système

mkdir mon-premier-deploiement
cd mon-premier-deploiement/

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 du "kubectl " utilisez les commandes suivantes.

sudo kubectl version
sudo kubectl get nodes

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

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

vim mon-premier-deploiement.yml

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        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, tel que Déploiement, Service, Configmap, etc.
  • nom  : Le nom doit être unique dans un espace de noms.
  • libellés  : Carte des clés de chaîne et des valeurs pouvant être utilisées pour organiser et catégoriser les objets
  • spec  : Spécification du comportement souhaité du déploiement.
  • répliques  : Nombre de pods souhaités.
  • sélecteur  : Sélecteur d'étiquettes pour les pods. Les ReplicaSets existants dont les pods sont sélectionnés par ceci seront ceux affectés par ce déploiement. Il doit correspondre aux libellés du modèle de module.

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

sudo kubectl apply -f my-first-deployment.yml
sudo kubectl obtenir les déploiements

Dans la capture d'écran ci-dessus, vous pouvez voir que le déploiement a été créé avec deux pods disponibles à l'utilisation.

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

sudo kubectl obtenir des pods

Si vous souhaitez en savoir plus sur le déploiement, vous pouvez utiliser cette commande "kubectl describe" pour obtenir les détails complets du déploiement.

sudo kubectl obtenir les déploiements
sudo kubectl décrire les déploiements nginx-deployment

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

sudo kubectl obtenir les déploiements
sudo kubectl supprimer les déploiements nginx-deployment
sudo kubectl obtenir les déploiements

Dans la capture d'écran ci-dessus, vous pouvez voir que le déploiement n'est plus disponible après sa suppression.

Une fois que vous supprimez le déploiement, les pods sont également supprimés.

Vous pouvez vérifier la disponibilité des pods à l'aide de la commande suivante.

sudo kubectl obtenir des pods

Dans la capture d'écran ci-dessus, vous pouvez voir que les pods ont été supprimés après la suppression du déploiement et ne sont pas disponibles.

Conclusion

Dans cet article, nous avons vu les étapes pour créer votre premier déploiement NginX sur Kubernetes. Nous avons également vu comment les détails concernant le déploiement peuvent être extraits. Parallèlement à cela, nous avons exploré les commandes pour supprimer le déploiement.


Linux
  1. Déployer MySQL sur Kubernetes {Guide}

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

  3. Configurer le cluster Kubernetes avec Rancher

  4. Création de votre premier conteneur Docker Windows Server

  5. kubectl apply vs create :lequel utiliser pour créer des ressources dans l'environnement de cluster Kubernetes ?

Créer un cluster Kubernetes à plan de contrôle unique avec kubeadm

Cluster Kubernetes utilisant K3S avec Multipass de Canonical

Créer un compte cPanel

Bash Beginner Series #1 :Créez et exécutez votre premier script shell Bash

Guide complet du débutant sur le déploiement du cluster Kubernetes sur CentOS (et autres Linux)

Créez rapidement votre premier site Web sur des serveurs cloud