Repository navigation
Expand file tree
/
Copy pathcleanup_k8s_docker.ps1
More file actions
92 lines (83 loc) · 3.1 KB
/
Copy pathcleanup_k8s_docker.ps1
File metadata and controls
92 lines (83 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Script PowerShell pour supprimer les ressources Kubernetes et les images Docker
# Forcer l'encodage UTF-8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
# Fonction pour verifier si une commande existe
function Test-CommandExists {
param($command)
$exists = $null -ne (Get-Command $command -ErrorAction SilentlyContinue)
return $exists
}
# Verifier si kubectl est installe
Write-Host "Verification de l'installation de kubectl..."
if (-not (Test-CommandExists kubectl)) {
Write-Error "kubectl n'est pas installe ou n'est pas dans le PATH. Veuillez installer kubectl."
exit 1
}
# Verifier si docker est installe
Write-Host "Verification de l'installation de Docker..."
if (-not (Test-CommandExists docker)) {
Write-Error "Docker n'est pas installe ou n'est pas dans le PATH. Veuillez installer Docker Desktop."
exit 1
}
# Verifier si les fichiers YAML existent
$yamlFiles = @("./k8s/deployment.yaml", "./k8s/service.yaml")
foreach ($file in $yamlFiles) {
if (-not (Test-Path $file)) {
Write-Error "Le fichier $file n'existe pas. Verifiez le chemin."
exit 1
}
}
# Etape 1 : Supprimer les ressources Kubernetes
Write-Host "Suppression des ressources Kubernetes..."
foreach ($file in $yamlFiles) {
Write-Host "Suppression de $file..."
try {
kubectl delete -f $file
if ($LASTEXITCODE -ne 0) {
Write-Warning "Echec de la suppression du fichier $file. La ressource n'existe peut-etre pas."
} else {
Write-Host "Ressource definie dans $file supprimee avec succes."
}
}
catch {
Write-Warning "Erreur lors de la suppression du fichier $file : $_"
}
}
# Supprimer l'ingress
Write-Host "Suppression de l'ingress api-nutrition-ingress..."
try {
kubectl delete ingress api-nutrition-ingress
if ($LASTEXITCODE -ne 0) {
Write-Warning "Echec de la suppression de l'ingress api-nutrition-ingress. La ressource n'existe peut-etre pas."
} else {
Write-Host "Ingress api-nutrition-ingress supprime avec succes."
}
}
catch {
Write-Warning "Erreur lors de la suppression de l'ingress : $_"
}
# Etape 2 : Supprimer les images Docker
$images = @("ghmaxime88/api-nutrition:latest", "api-nutrition:latest")
Write-Host "Suppression des images Docker..."
foreach ($image in $images) {
Write-Host "Verification de l'existence de l'image $image..."
try {
$imageExists = docker images -q $image
if ($imageExists) {
Write-Host "Suppression de l'image $image..."
docker rmi -f $image
if ($LASTEXITCODE -ne 0) {
Write-Warning "Echec de la suppression de l'image $image."
} else {
Write-Host "Image $image supprimee avec succes."
}
} else {
Write-Host "L'image $image n'existe pas localement. Aucune suppression necessaire."
}
}
catch {
Write-Warning "Erreur lors de la suppression de l'image $image : $_"
}
}
Write-Host "Toutes les operations de suppression ont ete completees!" -ForegroundColor Green