Étape 1 : Créer les fichiers YAML

Crée ces deux fichiers localement sur ta machine (là où kubectl est configuré).

apache-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: apache-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: apache
  template:
    metadata:
      labels:
        app: apache
    spec:
      containers:
      - name: apache
        image: httpd:2.4
        ports:
        - containerPort: 80

apache-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: apache-service
spec:
  type: NodePort
  selector:
    app: apache
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30080

Étape 2 : Appliquer les fichiers YAML

Ouvre un terminal dans le répertoire où tu as enregistré les fichiers, puis exécute :

kubectl apply -f apache-deployment.yaml
kubectl apply -f apache-service.yaml

Étape 3 : Vérifier que tout fonctionne

Vérifier les Pods

kubectl get pods

Tu devrais voir 2 pods apache-deployment-xxxxx avec le statut Running.

Vérifier le Service

kubectl get service apache-service

Tu devrais obtenir un résultat similaire à :

NAME             TYPE       CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE
apache-service   NodePort   10.96.0.1     <none>        80:30080/TCP   2m

Étape 4 : Accéder au serveur Apache

Utilise un navigateur ou curl pour accéder à Apache à l'adresse suivante, en remplaçant <IP-VM-WORKER> par l'adresse IP d'une machine worker :

http://<IP-VM-WORKER>:30080

Pour connaître l'adresse IP d'un nœud worker :

kubectl get nodes -o wide