fin du transfert/conversion du reverse proxy nginx (+ clés) dans K8' ; modification & création de scripts + création de doc explicative

This commit is contained in:
Waloshi6
2026-02-04 16:48:13 +01:00
parent a08b5a8eea
commit 70d766ad29
14 changed files with 159 additions and 25 deletions

View File

@@ -1,23 +1,4 @@
# Test rapide avant d'enregistrer : # Test rapide avant d'enregistrer Pour afficher tous les conteneurs Docker, ainsi que les nœuds et pods Kubernetes :
- Redémarrer le docker principale
cd C:\DevOpsProject\docker\
docker-compose -f docker-compose.yml down --remove-orphans
docker-compose -f docker-compose.yml up -d
- Redémarrer les autres dockers
cd C:\DevOpsProject\scripts\
.\start_other_ctnrs.ps1
- Redémarrer le namespace K8
kubectl apply -f C:\DevOpsProject\kubernetes\manifests\namespace.yaml
- Redémarrer les autres espaces de noms
kubectl apply -f C:\DevOpsProject\kubernetes\manifests\
# Pour afficher tous les conteneurs Docker, ainsi que les nœuds et pods Kubernetes :
- Conteneurs Docker - Conteneurs Docker
docker ps -a docker ps -a

10
docs/scripts.md Normal file
View File

@@ -0,0 +1,10 @@
# Docker :
- cleanup.ps1 ==> supprimes tout
- setup.ps1 ==> recrée tout
- Deploy.Ctnrs.ps1 ==> recrée tous les dockers
# K8'
- deploy.Pods.ps1 ==> crée les pods
- GnrKbCfOpnDash.ps1 ==> génère le kubeconfig et ouvres le dashbord web
- start-argocd.ps1 ==> crée le pod argo et ouvre sa page web

View File

@@ -1 +1 @@
MANIFEST-000082 MANIFEST-000094

View File

@@ -1 +1 @@
MANIFEST-000080 MANIFEST-000092

View File

@@ -352,3 +352,57 @@
11:06:42.558143 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00] 11:06:42.558143 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
11:06:42.599126 db@janitor F·3 G·0 11:06:42.599126 db@janitor F·3 G·0
11:06:42.599291 db@open done T·74.244422ms 11:06:42.599291 db@open done T·74.244422ms
=============== Feb 2, 2026 (UTC) ===============
11:10:06.791492 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
11:10:06.798095 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
11:10:06.798797 db@open opening
11:10:06.801905 journal@recovery F·1
11:10:06.802264 journal@recovery recovering @79
11:10:06.806812 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
11:10:06.847720 db@janitor F·3 G·0
11:10:06.848072 db@open done T·49.070061ms
=============== Feb 3, 2026 (UTC) ===============
10:03:18.197028 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
10:03:18.236055 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
10:03:18.238000 db@open opening
10:03:18.249671 journal@recovery F·1
10:03:18.250417 journal@recovery recovering @81
10:03:18.257559 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
10:03:18.315443 db@janitor F·3 G·0
10:03:18.315742 db@open done T·76.499ms
=============== Feb 3, 2026 (UTC) ===============
10:11:51.032309 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
10:11:51.080806 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
10:11:51.118537 db@open opening
10:11:51.124133 journal@recovery F·1
10:11:51.131207 journal@recovery recovering @83
10:11:51.163600 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
10:11:51.338661 db@janitor F·3 G·0
10:11:51.341663 db@open done T·222.866472ms
=============== Feb 3, 2026 (UTC) ===============
10:13:38.299173 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
10:13:38.309176 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
10:13:38.310052 db@open opening
10:13:38.312470 journal@recovery F·1
10:13:38.312755 journal@recovery recovering @85
10:13:38.318623 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
10:13:38.365645 db@janitor F·3 G·0
10:13:38.366201 db@open done T·55.742293ms
=============== Feb 4, 2026 (UTC) ===============
12:20:54.454482 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
12:20:54.491219 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
12:20:54.491653 db@open opening
12:20:54.494691 journal@recovery F·1
12:20:54.496370 journal@recovery recovering @87
12:20:54.501747 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
12:20:54.572944 db@janitor F·3 G·0
12:20:54.573167 db@open done T·81.299471ms
=============== Feb 4, 2026 (UTC) ===============
12:59:33.495946 log@legend F·NumFile S·FileSize N·Entry C·BadEntry B·BadBlock Ke·KeyError D·DroppedEntry L·Level Q·SeqNum T·TimeElapsed
12:59:33.504704 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
12:59:33.505526 db@open opening
12:59:33.508282 journal@recovery F·1
12:59:33.508596 journal@recovery recovering @89
12:59:33.512231 version@stat F·[0 1] S·577B[0B 577B] Sc·[0.00 0.00]
12:59:33.572905 db@janitor F·3 G·0
12:59:33.573247 db@open done T·67.527982ms

View File

@@ -0,0 +1,62 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
namespace: devops-demo
data:
nginx.conf: |
worker_processes 1;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
resolver 10.96.0.10 valid=5s ipv6=off;
resolver_timeout 10s;
upstream backend {
zone backend 64k;
server devops-app-service.devops-demo.svc.cluster.local:80 resolve;
}
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/nginx/certs/tls.crt;
ssl_certificate_key /etc/nginx/certs/tls.key;
add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}

View File

@@ -0,0 +1,9 @@
apiVersion: v1
data:
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEaFRDQ0FtMmdBd0lCQWdJVUtrN0VxV2FCVUxEU3JJZGR2Z0EvZEhlS2Y0TXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3VWpFTE1Ba0dBMVVFQmhNQ1JsSXhEakFNQmdOVkJBZ01CVXh2WTJGc01RNHdEQVlEVlFRSERBVk1iMk5oDQpiREVQTUEwR0ExVUVDZ3dHUkdWMlQzQnpNUkl3RUFZRFZRUUREQWxzYjJOaGJHaHZjM1F3SGhjTk1qWXdNVE14DQpNVFkwTXpBd1doY05NamN3TVRNeE1UWTBNekF3V2pCU01Rc3dDUVlEVlFRR0V3SkdVakVPTUF3R0ExVUVDQXdGDQpURzlqWVd3eERqQU1CZ05WQkFjTUJVeHZZMkZzTVE4d0RRWURWUVFLREFaRVpYWlBjSE14RWpBUUJnTlZCQU1NDQpDV3h2WTJGc2FHOXpkRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFOeU5kNnZLDQpBa1RUalE0cEFuYVlTNU5HNndrbldZR1Bvb2FZOHM5aVV1Wk5tYlkvT0JnVGl6enlIK2VwbncyelhTTFlOSTBDDQpLQ3poU0c0dVZHR25kY2lGVERKSmVuSTJoSFVEMFdBZ1hjU0FxTVlFK1JUNWl0NFFXWUEvWGlGVVZtOEZkSThuDQpSVGpXcUg3SzBGRkRTZGpUV3llVkwyYnpHK1cyY1JPY0F2U1g2RlNBMlNrTDFleVhsZlNhc2g1QU1yNUZKcVdBDQoyVCsyRDZDVVc2ai9HTVBiT1I5bmhVQzhJVkRMeUIybVV4RW9UM0FrckV6V3M3SW1ESzB3aXZ6aWVQbnY0UU8wDQpkM2NNV2dGRXk2RlZFbGVoOWtvRzVKZHZqQW1RUHM3MzFacFVGQ1lmeFJDVHdEblBvSnB3dFVBOStvU29VZlFzDQp1dzE3Vk8zRlgrUnRjeFVDQXdFQUFhTlRNRkV3SFFZRFZSME9CQllFRkxyRDdUTE5pYWxFRTBNT1M5c2RqNCtVDQpTVVJzTUI4R0ExVWRJd1FZTUJhQUZMckQ3VExOaWFsRUUwTU9TOXNkajQrVVNVUnNNQThHQTFVZEV3RUIvd1FGDQpNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFGQ1piWmlnRzlDSjdLdTNRV2tjT28wSzhXQVhQNzA3DQp2K0Q2bHM0UGpLK3d6NEY2VnkrR3F3RDBPVFp2M00rcXpCanEweG5mbEhhWitOSXRGc1lzdmp2SFZkeGxxSk9mDQp5MytacTcrR2VVbFBBMG82TGpLWXFqUXpGeFVmdkw0ZjJZSzllckQ3QXc0QStlT2NUTndWTTc2NURtUHh0bUE2DQpBVDRLcUdZNlhta05GZllNL2tHT2lpakFnS01YYjFOZEoyUGdDc3ExSDRpb0o4bHVKWlAwb1Vtd2UzWnZTcnZnDQpxYWpYR3l6WVYrZUw0RkFKZFRlTG5zdzVrMnQ2RXpzbmhQU095TXJGRVRycnd5ODNkUEEzMWc0QXVnQXFjZUNyDQpnMC84Wjk1d3hxV0paOUNRbC8zaFB1L2RhK21mdmMwdHBwRkRta1h1U1lHRTM3OVV0OG9ySDc0PQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0K
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tDQpNSUlFdkFJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0JLWXdnZ1NpQWdFQUFvSUJBUURjalhlcnlnSkUwNDBPDQpLUUoybUV1VFJ1c0pKMW1CajZLR21QTFBZbExtVFptMlB6Z1lFNHM4OGgvbnFaOE5zMTBpMkRTTkFpZ3M0VWh1DQpMbFJocDNYSWhVd3lTWHB5Tm9SMUE5RmdJRjNFZ0tqR0JQa1UrWXJlRUZtQVAxNGhWRlp2QlhTUEowVTQxcWgrDQp5dEJSUTBuWTAxc25sUzltOHh2bHRuRVRuQUwwbCtoVWdOa3BDOVhzbDVYMG1ySWVRREsrUlNhbGdOay90ZytnDQpsRnVvL3hqRDJ6a2ZaNFZBdkNGUXk4Z2RwbE1SS0U5d0pLeE0xck95Smd5dE1Jcjg0bmo1NytFRHRIZDNERm9CDQpSTXVoVlJKWG9mWktCdVNYYjR3SmtEN085OVdhVkJRbUg4VVFrOEE1ejZDYWNMVkFQZnFFcUZIMExMc05lMVR0DQp4Vi9rYlhNVkFnTUJBQUVDZ2dFQUd1ZWtEV0FWZ2tWblcrNmJSeEhoaUV3YXNIRnRMUTJ6VnlXUjIwUWtsa1VwDQpwdTZUM25ZRjRvK3IzalFXTzlMaFhmYVBoSk1haVEwTGE2dDVyamNDT28ydVE2VXNpNEhFaTB6RnJpc01uVVBQDQpzdVpZNTFyZ3VxRzJkVnRsbFgzSEZJQ1BIVVorWG9ackpCcUVLcUdoZ05LWnVGeXQzV3B6UVFUT1N3VFpaSEpvDQprdGl3VnZ2N2VuZlhyM1Z3RzFBTWg5eHNkcEFjNm9rY3hlL2RlSE01a1ZMMlZ4amMyRlN6TDdFRm1QNGFYK1dvDQp3Uk1YSUtTNTBDRGlVSzNYS1N2YW1sNnlVOFYyUmdVbmhPVW82ZW5xWU53aXNJUXdnZnRwam0yeFZQVk5OMWl0DQpMcFh6RjJJSm9aVGZYeFZUYjgwTEpteHI0UHplekF4eW9EczFrRmJ4SVFLQmdRRHZFMDJjbmxUdlh0MENkeWdxDQpubFl4T3ZjODBIU0VMWGw0ODIvUTBYVmphZFhDT1RNanh2QmlJVmFkU3BqbVhkQnhQUVRYV3hsQ3M3UlFtU09ZDQpvaEZ3cCs2VEd4WXhrRTdUZGtLTm1Yc0NzbmM3S2V2OFNEbktFZXV0bzVkWXFRY3FpN280N3ZOWk9RTVYycDg3DQpDY3YxMmpxQy9xSzg2UEgzcnUzVHp4WFF0UUtCZ1FEc0tuc1grL3lLSEV6VHd6ZWJ5UEx6NmpTUS81UGd3QW11DQphUXV1VmN4c2NqeDh2OG4xOVlIMEx3Sy9ONlBZK3NmeDFrem5KaFZDcWdmVHRUTUlacDJsWUZFZ1hCdlptMWxpDQo5MUJwWnBsMUZrRzJZN0tFcDQ3N3BucEVXS0JYSXhTZVlKby9rUVA2c0MrYnh5TUNvRXFlTVFqMDRnZS9CQkZEDQppdm9ySVZOMDRRS0JnQzdYNEdna21jM0JENXJSRUJ5eG8zL0g1dk9TZ0pINWV3aVk0anJQSDZvWDdaczlxK2lCDQpyVTM4N0VTcmZpUDlFNzlzVGt1SC9QNFZ5ZW5VNTZXYmM4RllGaVhhczlHSVRmbWUvVkZUVmtma0FmcWtyeWxpDQpXWGhmWklkRU8zNVN1Q1c4OVFMOHhzK2ZuUndtRnZieFozWkhpUmxyblNWWW16aUZuUEhZYkpUVkFvR0FZeFk3DQp5VWRmb083WXlTeXFJMEcvdGRrNUx2RWNzWHJCVlIwYjJveURGYWtrZWM3YVJNazZPaUtUUzNsajFJRDc3UnJWDQo3MUhLTDhzNU4zbGFMUmNvNDU4eXlwbjYwV1ZkcnFsSFlzRzZkeWJjY1ZNSkxxRkMyNUR3MGNaQmwrM1BFOWhDDQpQNU52a1BubEw3M3drWVNCYWpmMm94Qkc0YjBxSlNXbGF2MHpqK0VDZ1lCd2xuRGxldzNLSHJpbkF3eEMrOGcvDQo1QmhsdVJUQ0JPSDBwZ1pHR0RMM0VRS3pvaTZnK3FvaGxJb1RLaWhQamVvK1BFNUxqZnphRU5qTDVSc29BNDV1DQpZUGZsSHNaZEFWeHZVYXJqdDBHenhvYmNTR0NoV214ZVFISUQ3cmJZN0Y5RTViTkd1Lzh0Y09CZFdEMDdUMHN4DQozNEVYZS9IcTVNODh0KzEzK3h2eURnPT0NCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0NCg==
kind: Secret
metadata:
name: nginx-tls
namespace: devops-demo
type: kubernetes.io/tls

View File

@@ -1,11 +1,20 @@
# Dossier principal
$projectPath = "C:\DevOpsProject\docker" $projectPath = "C:\DevOpsProject\docker"
# Arrêter et démarrer le service principal
Write-Host "🔄 Arrêt du service docker-compose.yml..." -ForegroundColor Yellow
docker-compose -f "$projectPath\docker-compose.yml" down --remove-orphans
Write-Host "🚀 Démarrage du service docker-compose.yml..." -ForegroundColor Cyan
docker-compose -f "$projectPath\docker-compose.yml" up -d
# Liste des autres fichiers Compose
$composeFiles = @( $composeFiles = @(
"docker-compose-db.yml", "docker-compose-db.yml",
"docker-compose-elk.yml", "docker-compose-elk.yml",
"docker-compose-gitea.yml" "docker-compose-gitea.yml"
) )
# Boucle pour chaque fichier
foreach ($file in $composeFiles) { foreach ($file in $composeFiles) {
Write-Host "🔄 Arrêt du service $file..." -ForegroundColor Yellow Write-Host "🔄 Arrêt du service $file..." -ForegroundColor Yellow
docker-compose -f "$projectPath\$file" down docker-compose -f "$projectPath\$file" down
@@ -19,4 +28,5 @@ foreach ($file in $composeFiles) {
Write-Host "❌ Échec lors du démarrage de $file." -ForegroundColor Red Write-Host "❌ Échec lors du démarrage de $file." -ForegroundColor Red
} }
} }
Write-Host "🎉 Tous les services ont été relancés." -ForegroundColor Yellow Write-Host "🎉 Tous les services ont été relancés." -ForegroundColor Yellow

View File

@@ -3,7 +3,7 @@ kind: Config
clusters: clusters:
- name: docker-desktop - name: docker-desktop
cluster: cluster:
server: https://127.0.0.1:53514 server: https://127.0.0.1:56594
certificate-authority-data: DATA+OMITTED certificate-authority-data: DATA+OMITTED
contexts: contexts:
- name: docker-desktop - name: docker-desktop
@@ -14,4 +14,4 @@ current-context: docker-desktop
users: users:
- name: dashboard-admin - name: dashboard-admin
user: user:
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjZNb3dVQlFNem1oMHlycEpOZlQ3azNoNngwemlFUnNnSlJuT2V1ZVB4Z00ifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzcwMDQxMTQxLCJpYXQiOjE3NzAwMzc1NDEsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwianRpIjoiNDMzMGMwODctZjA2ZC00ZWQyLWFhNzgtOTIzMGYzYmM1Y2EyIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJkYXNoYm9hcmQtYWRtaW4iLCJ1aWQiOiJmYmMyOTIxOS00NjI4LTQ1M2EtOGY5Ny02Y2UxZWMwZTZlZjEifX0sIm5iZiI6MTc3MDAzNzU0MSwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.gz0Roz8B4zz1HJ2YuDhhPGa6LD6Co9jm38tCXyIqwQl2imFbvSJwn8yf3YYXINfp_k09gJBVH4cUSif8DhgR-9k587N6OOWYrt5XjIlggssd9QC8v3NZv6yLaIoUV2PMFDgyDX33pGGHr_6VCSC7yoRxbyahTLnLVjA9XurvR66EA9IDje6xSpJ3iB5YqFqGYsy6Q4gcVhYQtXr6Q_UZoiiBeYQH-C66-N5RheGIxJuIQMpfIm_5644ZH8ddz3g3uLkmwCI15TSNGRL0NOSUploCytxXuiqqZSrJDeq4yyTMDhYUtK4_sUOpZFT26gzWuEPSQCq77zUXJdA9-7dbxA token: eyJhbGciOiJSUzI1NiIsImtpZCI6IndBRDNjNGpoRUdpR1B5djZ4RHRCZjBlMVdIV25QWHFhYTI0VmdVblVEMTgifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzcwMjIyNzQ2LCJpYXQiOjE3NzAyMTkxNDYsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwianRpIjoiYjVlZjBmYTktNGNlOC00MjM3LWEyYjAtOTdjMTQyY2VkMTg5Iiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJkYXNoYm9hcmQtYWRtaW4iLCJ1aWQiOiIyMWZhYmI5MS05ZjU3LTRiNzQtODgyYS01YWZmY2FlZWRiMDkifX0sIm5iZiI6MTc3MDIxOTE0Niwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.Ysea7DqByt7867i6PxfE9XwXtB8xqaQOwSYg9lqYJ6xm5TMumB-EyeRjqdxdoJ-yVDkrTuPSMc24QiiwIfr2_xYsJUR-jsPn8yausLhI1pjO9laRA0OyjgeaGMJnxTWTWAl6gm4GE-4_S7h1NyPJM6XRPtxshTd7O19iYFex0LS5Lq1-dUfN6DEZ6SBeU48uriJM90vnPZqsfSdj76VkuviDOYlec2luKJKHBdApnBUi5KJ3ancfVVQBS1x540oPKfIbIBjx9UPbjswO_Bkfuc1f2zBguUfLSI9u8mcgvcy6i7dDxBKdqUtcAilKPs-LHlT6LUvwzVyT8a9MQeau6w

8
scripts/deploy.Pods.ps1 Normal file
View File

@@ -0,0 +1,8 @@
# Appliquer d'abord le namespace
kubectl apply -f C:\DevOpsProject\kubernetes\manifests\namespace.yaml
# Appliquer ensuite tous les autres fichiers
kubectl apply -f C:\DevOpsProject\kubernetes\manifests\
# Vérifier l'état des pods
kubectl get pods --all-namespaces -o wide