Partager via


Créer des déploiements

S’applique à : AKS sur Azure Local 22H2, AKS sur Windows Server

Cet article fournit une vue d’ensemble des déploiements Kubernetes et décrit comment créer et mettre à jour ces déploiements dans AKS activés par Azure Arc.

Vue d’ensemble des déploiements Kubernetes

Un déploiement fait référence à un objet Kubernetes qui gère les performances et spécifie le comportement souhaité d’un pod. Il spécifie le cycle de vie de l’application, y compris les pods affectés à l’application. Un déploiement permet de communiquer l’état souhaité pour votre application, et le contrôleur travaille sur la modification de l’état actuel en état souhaité.

Les déploiements automatisent le processus de lancement des instances de pod et s’assurent qu’ils s’exécutent comme défini sur tous les nœuds au sein du cluster. Les administrateurs et les professionnels de l’informatique utilisent des déploiements pour communiquer ce qu’ils veulent à partir d’une application, puis Kubernetes effectue toutes les étapes nécessaires pour créer l’état souhaité de l’application.

Alors que les déploiements définissent la façon dont vos applications s’exécutent, ils ne garantissent pas l’emplacement de vos applications dans le cluster. Par exemple, si votre application nécessite une instance d’un pod sur chaque nœud, vous souhaitez utiliser un DaemonSet. Pour les applications avec état, un StatefulSet fournit des identificateurs réseau uniques, un stockage persistant, ainsi qu’un déploiement et une mise à l’échelle ordonnés.

L’objet de déploiement Kubernetes vous permet de :

  • Déployez un jeu de réplicas ou un pod.
  • Mettez à l’échelle le nombre d’instances d’une application vers le haut ou vers le bas.
  • Mettez à jour chaque instance en cours d’exécution d’une application.
  • Restaurez toutes les instances en cours d’exécution d’une application vers une autre version.
  • Suspendre ou poursuivre un déploiement.

Pour plus d’informations, consultez Déploiements Kubernetes.

Créer un déploiement

Pour créer un déploiement, vous pouvez utiliser les commandes kubectl apply ou kubectl create. Étant donné que le nombre requis de pods est géré et surveillé, ils sont exécutés et disponibles une fois le déploiement créé. En cas de défaillance d’un pod, Kubernetes déploie immédiatement un réplica du pod pour le remplacer dans le cluster.

L’exemple suivant décrit les fonctionnalités d’un fichier manifeste de déploiement au format YAML :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - image: nginx
          name: nginx
          ports:
            - containerPort: 80

Pour afficher le déploiement, le jeu de réplicas et les pods, exécutez la commande suivante :

kubectl get deployment, replicaset, pod

Mettre à jour un déploiement

L’avantage principal des déploiements est la possibilité de mettre à jour automatiquement votre programme Kubernetes. Sans les déploiements, vous devriez mettre fin manuellement à tous les anciens pods, démarrer de nouvelles versions des pods et vérifier si des problèmes surviennent lors de la création des pods. Vous pouvez exécuter kubectl describe deployment pour voir l’ordre dans lequel les pods ont été mis en place et supprimés.

Les déploiements automatisent le processus de mise à jour, car vous mettez simplement à jour le modèle de pod ou l’état souhaité. Le déploiement modifie l’état du programme en arrière-plan avec des actions, telles que la création de pods ou l’allocation de ressources supplémentaires, jusqu’à ce que la mise à jour choisie soit en place.

En cas de problème dans le déploiement, Kubernetes restaure automatiquement la version précédente. Vous pouvez également restaurer explicitement une version spécifique à l’aide de la commande kubectl rollout undo, ou utiliser le kubectl rollout pause pour arrêter temporairement un déploiement.

Stratégies de mise à jour des déploiements

Kubernetes fournit plusieurs stratégies de déploiement pour vous permettre d’effectuer des mises à jour de différentes façons afin de répondre aux besoins de votre environnement. Les trois stratégies de mise à jour les plus courantes sont :

  • Mise à jour propagée : cette mise à jour est un processus graduel qui vous permet de mettre à jour votre système Kubernetes avec un effet mineur sur les performances et sans temps d’arrêt. Il minimise les temps d’arrêt au détriment de la vitesse de mise à jour.
  • Recréation : cette stratégie est un processus tout-ou-rien qui vous permet de mettre à jour tous les aspects du système en une seule fois moyennant un temps d’arrêt bref. Elle est mise à jour rapidement, mais entraîne un temps d’arrêt.
  • Contrôle de validité : cette stratégie est un processus de mise à jour partielle qui vous permet de tester la nouvelle version de votre programme sur des utilisateurs réels sans vous obliger à procéder à un déploiement complet. Elle est mise à jour rapidement pour un petit nombre d’utilisateurs, avec un déploiement complet plus tard.

Étapes suivantes