Lab 2 : Déploiement d'une Application Nginx sur Kubernetes
Prérequis
- Un cluster Kubernetes fonctionnel avec une machine maître (master) et un nœud de travail
(node01).
- `kubectl` installé et configuré pour interagir avec votre cluster.
Notes :
Pour créer des fichiers dans votre machine virtuelle `node01` après avoir exécuté la commande
`vagrant ssh node01`, vous pouvez suivre ces étapes :
Étape 1 : Accéder à la machine virtuelle
1. Ouvrir le terminal sur votre machine hôte.
2. Se connecter à la VM en utilisant la commande suivante :
vagrant ssh node01
Étape 2 : Créer des fichiers YAML
Une fois connecté à votre machine virtuelle, vous pouvez utiliser un éditeur de texte en ligne de
commande pour créer vos fichiers YAML. Voici deux éditeurs courants que vous pourriez utiliser :
*Utiliser `nano`
1. Créer un fichier avec nano :
Pour créer un fichier YAML, par exemple `mypod.yaml`, exécutez :
nano mypod.yaml
2. Écrire le contenu du fichier :
Copiez et collez le contenu YAML que vous souhaitez.
3. Enregistrer et quitter :
- Pour enregistrer, appuyez sur `CTRL + O`, puis `Entrée`.
- Pour quitter, appuyez sur `CTRL + X`.
* Utiliser `vi` ou `vim`
1. Créer un fichier avec vi :
Pour créer un fichier YAML, par exemple `myreplicaset.yaml`, exécutez :
vi myreplicaset.yaml
2. Passer en mode insertion :
Appuyez sur `i` pour entrer en mode insertion.
3. Écrire le contenu du fichier :
Collez ou tapez le contenu YAML souhaité.
4. Enregistrer et quitter :
- Appuyez sur `Échap` pour sortir du mode insertion.
- Tapez `:wq` et appuyez sur `Entrée` pour enregistrer et quitter.
Vérifier les fichiers créés
Pour vérifier que vos fichiers ont été créés correctement, utilisez la commande suivante :
ls -l
Cela affichera la liste des fichiers dans le répertoire courant.
Étape 1 : Créer un Pod
Un Pod est l'unité de base dans Kubernetes qui exécute un ou plusieurs conteneurs.
1. Créer un fichier YAML pour le Pod :
Créez un fichier nommé `mypod.yaml` avec le contenu suivant :
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: nginx-container
image: nginx:latest
ports:
- containerPort: 80
2. Appliquer le fichier YAML :
Exécutez la commande suivante pour créer le Pod :
kubectl apply -f mypod.yaml
3. Vérifier le statut du Pod :
Utilisez la commande suivante pour vérifier que le Pod est en cours d'exécution :
kubectl get pods
Étape 2 : Créer un ReplicaSet
Un ReplicaSet assure qu'un nombre spécifié de Pods identiques sont en cours d'exécution à tout
moment.
1. Créer un fichier YAML pour le ReplicaSet :
Créez un fichier nommé `myreplicaset.yaml` :
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: my-replicaset
spec:
replicas: 3
selector:
matchLabels:
app: my-nginx
template:
metadata:
labels:
app: my-nginx
spec:
containers:
- name: nginx-container
image: nginx:latest
ports:
- containerPort: 80
2. Appliquer le fichier YAML :
Exécutez la commande suivante :
kubectl apply -f myreplicaset.yaml
3. Vérifier le statut du ReplicaSet et des Pods :
Utilisez ces commandes :
kubectl get replicasets
kubectl get pods
Étape 3 : Créer un Deployment
Un Deployment gère les ReplicaSets et permet des mises à jour déclaratives.
1. Créer un fichier YAML pour le Deployment :
Créez un fichier nommé `mydeployment.yaml` :
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-nginx-deployment
template:
metadata:
labels:
app: my-nginx-deployment
spec:
containers:
- name: nginx-container
image: nginx:latest
ports:
- containerPort: 80
2. Appliquer le fichier YAML :
Exécutez la commande suivante :
kubectl apply -f mydeployment.yaml
3. Vérifier le statut du Deployment :
Utilisez cette commande :
kubectl get deployments
Étape 4 : Créer un Service pour exposer votre application
Un Service permet d'accéder à vos Pods de manière stable.
1. Créer un fichier YAML pour le Service :
Créez un fichier nommé `myservice.yaml` :
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: NodePort
selector:
app: my-nginx-deployment
ports:
- port: 80
nodePort: 30001
protocol: TCP
2. Appliquer le fichier YAML :
Exécutez la commande suivante :
kubectl apply -f myservice.yaml
3. Vérifier le statut du Service :
Utilisez cette commande :
kubectl get services
Étape 5 : Accéder à votre application
Exécutez cette commande pour savoir l’adresse ip :
hostname -I
Exécutez cette commande pour accéder à votre application :
Curl <adresse-ip> :30001