Créer et supprimer des pods
S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server
Kubernetes utilise des pods pour exécuter une instance de votre application. Cet article explique comment créer et supprimer des pods lors de la gestion de vos charges de travail dans AKS activé par Azure Arc.
Un pod représente une instance unique d’une application. Chaque pod comprend un ou plusieurs conteneurs qui sont déployés ensemble sur un même hôte. Le pod est la plus petite unité d’exécution dans Kubernetes. Une adresse IP interne et un port sont attribués à un pod, par le biais duquel les conteneurs au sein du pod peuvent partager un stockage et un réseau communs. À l’instar d’un service, d’un volume et d’un espace de noms, un pod est un objet Kubernetes de base. Les pods s’exécutent sur des nœuds et ont un cycle de vie défini, pendant lequel ils s’exécutent jusqu’à ce que leurs conteneurs soient supprimés.
Créer un pod
Avant de créer un pod, vous devez configurer un hôte AKS et créer des clusters AKS à l’aide de Windows PowerShell. Vous pouvez également utiliser Windows Admin Center pour configurer l’hôte et créer les clusters.
Pour vérifier que vous êtes connecté au cluster Kubernetes, exécutez la commande suivante :
kubectl get nodes
Pour créer un pod, exécutez la commande suivante. Dans cet exemple, un pod est créé à l’aide d’une image nginx :
kubectl run nginx --image=nginx --restart=Never
Lorsque vous définissez le paramètre -restart=Never
, Kubernetes crée un pod unique au lieu de créer un déploiement.
Pour voir l’état de votre pod, exécutez la commande suivante :
kubectl get pods
Pour voir l’intégralité de la configuration du pod, exécutez la commande suivante :
kubectl describe pod nginx
Supprimer un pod
Pour supprimer un pod que vous avez créé, exécutez la commande suivante :
kubectl delete pod
Exemple de configuration de pod
L’exemple YAML suivant décrit les fonctionnalités d’un pod et montre comment il s’agit de la plus petite unité de Kubernetes qui peut être définie, déployée et gérée :
apiVersion: v1
kind: Pod
metadata:
labels:
app: nginx
name: nginx
namespace: calico-demo
spec:
containers:
- name: nginx
image: nginx:1.8
ports:
- containerPort: 80
nodeSelector:
beta.kubernetes.io/os: linux