La con­fi­gu­ra­tion des pods Ku­ber­netes se fait de manière im­pé­ra­tive, dé­cla­ra­tive ou à l’aide d’in­ter­faces API. Ce faisant, vous pouvez également spécifier et adapter des res­sources sup­plé­men­taires pour les con­te­neurs contenus.

Create a pod in Ku­ber­netes : ce qu’il faut savoir avant de créer un pod

Pour exécuter un pod Ku­ber­netes, vous avez besoin d’un cluster Ku­ber­netes en cours d’exécution, soit lo­ca­le­ment sur un système de dé­ve­lop­pe­ment, soit dans un en­vi­ron­ne­ment Cloud ou sur site. Pour l’ins­tal­la­tion, nous vous re­com­man­dons de lire notre tutoriel Ku­ber­netes. L’outil de ligne de commande kubectl doit être présent et configuré sur l’or­di­na­teur afin de permettre l’in­te­rac­tion avec le cluster Ku­ber­netes. Vérifiez que le fichier ku­be­con­fig est cor­rec­te­ment configuré afin d’établir une connexion réussie au cluster.

Conseil

Managed Ku­ber­netes de IONOS garantit la haute dis­po­ni­bi­lité de vos dé­ploie­ments K8s tout en op­ti­mi­sant les coûts. L’in­té­gra­tion à l’éco­sys­tème Cloud de IONOS offre également un stockage de données per­sis­tant avancé et en­tiè­re­ment intégré.

Créer un pod Ku­ber­netes étape par étape

Il existe trois manières de créer des pods dans Ku­ber­netes :

  • Par méthode im­pé­ra­tive
  • Par méthode dé­cla­ra­tive
  • En utilisant l’interface API

Con­fi­gu­ra­tion im­pé­ra­tive

Avec la méthode im­pé­ra­tive, vous donnez au système des ins­truc­tions ex­pli­cites via la ligne de commande kubectl sur la manière de créer un pod Ku­ber­netes, sans avoir préparé au préalable un fichier de con­fi­gu­ra­tion 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 im­pé­ra­tive effectue di­rec­te­ment des mo­di­fi­ca­tions sans qu’il y ait une dé­fi­ni­tion claire de l’état prévu, l’approche dé­cla­ra­tive est gé­né­ra­le­ment re­com­man­dée.

Con­fi­gu­ra­tion dé­cla­ra­tive

L’approche dé­cla­ra­tive de Ku­ber­netes nécessite de définir l’état souhaité des res­sources à l’aide de fichiers de con­fi­gu­ra­tion 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 Ku­ber­netes basé sur la con­fi­gu­ra­tion dé­cla­ra­tive.

kubectl apply -f nginx-pod.yaml
shell

Les con­fi­gu­ra­tions dé­cla­ra­tives que vous indiquez dans les fichiers YAML sont un en­re­gis­tre­ment concret de l’état prévu, y compris la version du pod à créer. Il en résulte une gestion et une sur­veil­lance trans­pa­rentes des res­sources dans votre cluster Ku­ber­netes.

Utiliser l’interface API

Ku­ber­netes propose une API RESTful qui vous permet d’interagir avec le cluster Ku­ber­netes. Avant d’utiliser l’API, vous devez vous au­then­ti­fier et vous autoriser. Cela se fait gé­né­ra­le­ment en four­nis­sant des jetons d’accès ou des cer­ti­fi­cats, selon la con­fi­gu­ra­tion du cluster Ku­ber­netes.

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 Ku­ber­netes, utilisez curl pour com­mu­ni­quer avec l’API REST du cluster Ku­ber­netes :

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 Ku­ber­netes. Les options -k et -v re­pré­sen­tent l’ignorance de la vé­ri­fi­ca­tion du cer­ti­fi­cat SSL et le mode verbose. -X POST permet de définir une requête POST. L’en-tête « Au­tho­ri­za­tion » 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 in­for­ma­tions.

Vous pouvez obtenir des in­for­ma­tions plus dé­tail­lées avec :

kubectl describe pod my-pod
shell

Cette commande renvoie des in­for­ma­tions dé­tail­lées sur le pod, y compris sa con­fi­gu­ra­tion, les évé­ne­ments et les tran­si­tions d’état.

Pour afficher les journaux du conteneur principal dans le pod Ku­ber­netes :

kubectl logs my-pod
shell

Si vous avez plusieurs con­tai­ners, vous pouvez marquer le container avec l’option -c.

Supprimer un pod

La sup­pres­sion d’un pod n’est pas com­pli­quée et peut être effectuée avec une simple commande.

kubectl delete pod nginx
shell

Cela permet d’arrêter le pod Ku­ber­netes sé­lec­tionné et de supprimer le conteneur associé du cluster. Dans l’exemple suivant, nous avons supprimé avec succès le pod Nginx du cluster.

Managed Ku­ber­netes de IONOS Cloud
Or­ches­trez vos charges de travail en toute sécurité

Managed Ku­ber­netes est la pla­te­forme idéale pour des ap­pli­ca­tions de con­te­neurs per­for­mantes et hautement évo­lu­tives.

Aller au menu principal