Déployer une application exemple
Dans cette étape, vous allez apprendre à créer et à déployer une application Kubernetes simple en utilisant des manifestes YAML. Nous allons créer à la fois un Pod et un Deployment pour démontrer différentes méthodes de déploiement d'applications.
Tout d'abord, créez un répertoire pour vos manifestes Kubernetes :
mkdir -p ~/project/k8s-manifests
cd ~/project/k8s-manifests
Créez un manifeste de Pod NGINX simple :
nano nginx-pod.yaml
Ajoutez le contenu suivant :
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
Appuyez sur Ctrl+X
, puis Y
, et Entrée
pour enregistrer et quitter.
Maintenant, créez un manifeste de Deployment :
nano nginx-deployment.yaml
Ajoutez le contenu suivant :
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
Appliquez les manifestes pour créer les ressources :
kubectl apply -f nginx-pod.yaml
kubectl apply -f nginx-deployment.yaml
Exemple de sortie :
pod/nginx-pod created
deployment.apps/nginx-deployment created
Vérifiez les ressources créées :
kubectl get pods
kubectl get deployments
Exemple de sortie :
NAME READY STATUS RESTARTS AGE
nginx-pod 1/1 Running 0 1m
nginx-deployment-xxx-yyy 1/1 Running 0 1m
nginx-deployment-xxx-zzz 1/1 Running 0 1m
nginx-deployment-xxx-www 1/1 Running 0 1m
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-deployment 3/3 3 3 1m
Attendez que le déploiement crée les réplicas. La colonne READY
devrait afficher 3/3
lorsque tous les réplicas sont prêts.
Principales différences entre un Pod et un Deployment :
- Pod : Instance unique d'une application
- Deployment : Gère plusieurs réplicas et assure l'autoguérison