Actualizar deploy-lab.sh

This commit is contained in:
2026-07-12 04:04:31 +00:00
parent 228bec84c6
commit c74aba7684
+4 -25
View File
@@ -26,42 +26,27 @@ sudo docker update --restart=always $(sudo docker ps -a -q -f name=k3d)
sudo chown -R $USER:$USER /DATA/.kube /DATA/.config
k3d kubeconfig merge $CLUSTER_NAME --kubeconfig-switch-context
echo "--- 5. Instalando ArgoCD y configurando Insecure ---"
kubectl create namespace argocd || true
//
echo "--- 5. Instalando ArgoCD y RBAC ---"
kubectl create namespace argocd || true
echo "--- 5. Instalando ArgoCD y RBAC ---"
kubectl create namespace argocd || true
# RBAC dedicado
kubectl create serviceaccount argocd-manager -n argocd || true
kubectl create clusterrolebinding argocd-manager-binding \
--clusterrole=cluster-admin \
--serviceaccount=argocd:argocd-manager || true
# Despliegue de ArgoCD
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# Esperar a que la API responda para hacer el patch
sleep 15
sleep 20 # Espera técnica para que los CRDs de ArgoCD se carguen
kubectl patch configmap argocd-cmd-params-cm -n argocd --type merge -p '{"data":{"server.insecure":"true"}}'
echo "--- 6. Creando credenciales para Headlamp ---"
kubectl create namespace headlamp || true
kubectl create serviceaccount headlamp-admin -n headlamp || true
kubectl create clusterrolebinding headlamp-admin-binding --clusterrole=cluster-admin --serviceaccount=headlamp:headlamp-admin || true
# Creamos el secreto para que Headlamp use el config del host
kubectl create secret generic headlamp-kubeconfig --from-file=config=/DATA/.kube/config -n headlamp --dry-run=client -o yaml | kubectl apply -f -
echo "--- 7. Validando despliegue ---"
kubectl wait --for=condition=Ready pods -n argocd --all --timeout=180s
echo "--- 8. Aplicando Ingress para balanceador ---"
echo "--- 8. Aplicando Ingress ---"
cat <<EOF | kubectl apply -f -
apiVersion: networking.k8s.io/v1
kind: Ingress
@@ -87,14 +72,8 @@ EOF
echo "=========================================================="
echo " LABORATORIO DESPLEGADO EXITOSAMENTE"
echo " IMPORTANTE - NOTA PARA NGINX PROXY MANAGER:"
echo " -------------------------------------------"
echo " En la configuración de cada host en NPM:"
echo " 1. Forward Hostname: 192.168.68.61"
echo " 2. Forward Port: 90"
echo " 3. Scheme: http"
echo " 4. HABILITAR 'Websockets Support' (Obligatorio)"
echo " =========================================================="
echo " ArgoCD Password: $(kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d)"
echo " NOTA NPM: Fwd 192.168.68.61:90 | Scheme: http | Websockets: ON"
echo " ArgoCD Password: $(kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d)"
echo " Token Headlamp: $(kubectl create token headlamp-admin -n headlamp)"
echo "=========================================================="