Comment créer un pod Kubernetes ?

La configuration des pods Kubernetes se fait de manière impérative, déclarative ou à l’aide d’interfaces API. Ce faisant, vous pouvez également spécifier et adapter des ressources supplémentaires pour les conteneurs contenus.

Create a pod in Kubernetes : ce qu’il faut savoir avant de créer un pod

Pour exécuter un pod Kubernetes, vous avez besoin d’un cluster Kubernetes en cours d’exécution, soit localement sur un système de développement, soit dans un environnement Cloud ou sur site. Pour l’installation, nous vous recommandons de lire notre tutoriel Kubernetes. L’outil de ligne de commande kubectl doit être présent et configuré sur l’ordinateur afin de permettre l’interaction avec le cluster Kubernetes. Vérifiez que le fichier kubeconfig est correctement configuré afin d’établir une connexion réussie au cluster.

Conseil

Managed Kubernetes de IONOS garantit la haute disponibilité de vos déploiements K8s tout en optimisant les coûts. L’intégration à l’écosystème Cloud de IONOS offre également un stockage de données persistant avancé et entièrement intégré.

Créer un pod Kubernetes étape par étape

Il existe trois manières de créer des pods dans Kubernetes :

  • Par méthode impérative
  • Par méthode déclarative
  • En utilisant l’interface API

Configuration impérative

Avec la méthode impérative, vous donnez au système des instructions explicites via la ligne de commande kubectl sur la manière de créer un pod Kubernetes, sans avoir préparé au préalable un fichier de configuration détaillé.

kubectl run nginx --image=nginx --restart=Never
shell

Cette commande crée un seul pod nommé nginx, qui contient le serveur Web Nginx.

Comme la méthode impérative effectue directement des modifications sans qu’il y ait une définition claire de l’état prévu, l’approche déclarative est généralement recommandée.

Configuration déclarative

L’approche déclarative de Kubernetes nécessite de définir l’état souhaité des ressources à l’aide de fichiers de configuration YAML.

Ouvrez un éditeur de texte et créez un fichier YAML, par exemple nginx-pod.yaml, qui décrit l’état souhaité du pod Nginx.

apiVersion: v1
kind: Pod
metadata:
    name: nginx-pod
spec:
    containers:
    - name: nginx-container
        image: nginx:latest
        ports:
        - containerPort: 80
yaml

Utilisez la commande kubectl apply pour activer le pod Kubernetes basé sur la configuration déclarative.

kubectl apply -f nginx-pod.yaml
shell

Les configurations déclaratives que vous indiquez dans les fichiers YAML sont un enregistrement concret de l’état prévu, y compris la version du pod à créer. Il en résulte une gestion et une surveillance transparentes des ressources dans votre cluster Kubernetes.

Utiliser l’interface API

Kubernetes propose une API RESTful qui vous permet d’interagir avec le cluster Kubernetes. Avant d’utiliser l’API, vous devez vous authentifier et vous autoriser. Cela se fait généralement en fournissant des jetons d’accès ou des certificats, selon la configuration du cluster Kubernetes.

cat > nginx-pod.json <<EOF
{
    "apiVersion": "v1",
    "kind": "Pod",
    "metadata": {
        "name": "nginx-pod"
    },
    "spec": {
        "containers": [
            {
                "name": "nginx-container",
                "image": "nginx:latest",
                "ports": [
                    {
                        "containerPort": 80
                    }
                ]
            }
        ]
    }
}
EOF
shell

Pour activer le pod Kubernetes, utilisez curl pour communiquer avec l’API REST du cluster Kubernetes :

curl -k -v -X POST -H "Authorization: Bearer <JWT_TOKEN>" -H "Content-Type: application/json" \
https://cluster-ip:6443/api/v1/namespaces/default/pods -d @nginx-pod.json
shell

La commande curl envoie une requête HTTPS-POST à un point d’extrémité du cluster Kubernetes. Les options -k et -v représentent l’ignorance de la vérification du certificat SSL et le mode verbose. -X POST permet de définir une requête POST. L’en-tête « Authorization » contient un jeton de prise en charge (remplacez <JWT_TOKEN> par le jeton réel) et « Content-Type » indique le type de format de données en JSON. L’option -d@nginx-pod.json envoie les données au serveur.

Voir les pods

Pour vérifier l’état actuel de tous les pods dans l’espace de noms, tapez la commande suivante :

kubectl get pods
shell

Le résultat est une liste des pods existants contenant leur état, l’heure de démarrage et d’autres informations.

Vous pouvez obtenir des informations plus détaillées avec :

kubectl describe pod my-pod
shell

Cette commande renvoie des informations détaillées sur le pod, y compris sa configuration, les événements et les transitions d’état.

Pour afficher les journaux du conteneur principal dans le pod Kubernetes :

kubectl logs my-pod
shell

Si vous avez plusieurs containers, vous pouvez marquer le container avec l’option -c.

Supprimer un pod

La suppression d’un pod n’est pas compliquée et peut être effectuée avec une simple commande.

kubectl delete pod nginx
shell

Cela permet d’arrêter le pod Kubernetes sélectionné et de supprimer le conteneur associé du cluster. Dans l’exemple suivant, nous avons supprimé avec succès le pod Nginx du cluster.

Managed Kubernetes de IONOS Cloud
Orchestrez vos charges de travail en toute sécurité

Managed Kubernetes est la plateforme idéale pour des applications de conteneurs performantes et hautement évolutives.

Cet article vous a-t-il été utile ?
Page top