corregido apolo y añadido generador de kubeconfig

This commit is contained in:
2025-08-18 20:04:33 +02:00
parent 64ee264a32
commit e257fdd5c7
4 changed files with 66 additions and 2 deletions

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: dashboard-admin
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: dashboard-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: dashboard-admin
namespace: kubernetes-dashboard

View File

@@ -0,0 +1,47 @@
#!/bin/bash
# Generar kubeconfig para Kubernetes Dashboard
# Archivo: gen-dashboard-kubeconfig.sh
set -e
NAMESPACE="kubernetes-dashboard"
SA_NAME="dashboard-admin"
KUBECONFIG_FILE="dashboard.kubeconfig"
echo "[*] Obteniendo token del ServiceAccount..."
TOKEN=$(kubectl -n $NAMESPACE create token $SA_NAME)
if [ -z "$TOKEN" ]; then
echo "[!] No se pudo obtener el token. Revisa que el SA exista: $SA_NAME en $NAMESPACE"
exit 1
fi
echo "[*] Obteniendo API Server..."
APISERVER=$(kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}')
if [ -z "$APISERVER" ]; then
echo "[!] No se pudo obtener el API server del kubeconfig actual."
exit 1
fi
echo "[*] Generando kubeconfig en $KUBECONFIG_FILE ..."
kubectl config set-cluster kubernetes \
--server=$APISERVER \
--insecure-skip-tls-verify=true \
--kubeconfig=$KUBECONFIG_FILE >/dev/null
kubectl config set-credentials $SA_NAME \
--token=$TOKEN \
--kubeconfig=$KUBECONFIG_FILE >/dev/null
kubectl config set-context $SA_NAME@kubernetes \
--cluster=kubernetes \
--user=$SA_NAME \
--kubeconfig=$KUBECONFIG_FILE >/dev/null
kubectl config use-context $SA_NAME@kubernetes \
--kubeconfig=$KUBECONFIG_FILE >/dev/null
echo "[✔] Kubeconfig generado: $KUBECONFIG_FILE"
echo " Puedes probarlo con:"
echo " kubectl --kubeconfig=$KUBECONFIG_FILE get pods -n $NAMESPACE"