55 lines
1.9 KiB
PowerShell
55 lines
1.9 KiB
PowerShell
# Installer le dashboard Kubernetes s'il n'existe pas
|
|
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 2>$null
|
|
|
|
# Démarrer le proxy Kubernetes
|
|
Start-Process kubectl -ArgumentList "proxy" -WindowStyle Hidden
|
|
|
|
# Attendre que le proxy soit prêt
|
|
Start-Sleep -Seconds 5
|
|
|
|
# Créer le ServiceAccount (pas de --force, gestion propre)
|
|
if ($(kubectl get serviceaccount dashboard-admin -n kubernetes-dashboard -o name) -eq $null) {
|
|
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
|
|
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
|
|
}
|
|
|
|
# Générer le jeton
|
|
$Token = kubectl create token dashboard-admin -n kubernetes-dashboard
|
|
|
|
# Informations du cluster
|
|
$ClusterName = kubectl config current-context
|
|
$Server = kubectl config view -o jsonpath="{.clusters[?(@.name==`"$ClusterName`")].cluster.server}"
|
|
$CACert = kubectl config view -o jsonpath="{.clusters[?(@.name==`"$ClusterName`")].cluster.certificate-authority-data}"
|
|
|
|
# Générer le kubeconfig
|
|
$Kubeconfig = @"
|
|
apiVersion: v1
|
|
kind: Config
|
|
clusters:
|
|
- name: $ClusterName
|
|
cluster:
|
|
server: $Server
|
|
certificate-authority-data: $CACert
|
|
contexts:
|
|
- name: $ClusterName
|
|
context:
|
|
cluster: $ClusterName
|
|
user: dashboard-admin
|
|
current-context: $ClusterName
|
|
users:
|
|
- name: dashboard-admin
|
|
user:
|
|
token: $Token
|
|
"@
|
|
|
|
# Sauvegarder
|
|
$Kubeconfig | Out-File -FilePath "C:\DevOpsProject\scripts\dashboard.kubeconfig" -Encoding UTF8
|
|
|
|
Write-Host "✅ kubeconfig généré : C:\DevOpsProject\scripts\dashboard.kubeconfig"
|
|
|
|
# Ouvrir le navigateur
|
|
$Url = "http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/"
|
|
Start-Process $Url
|
|
|
|
Write-Host "🌐 Dashboard ouvert dans le navigateur."
|
|
Write-Host "→ Choisissez 'Kubeconfig' et sélectionnez le fichier généré." |