From cdfab40379365214f308cba3045d8652d95ff527 Mon Sep 17 00:00:00 2001 From: Alejandro Lembke Barrientos Date: Thu, 5 Jun 2025 21:16:22 +0000 Subject: [PATCH] Agregando Documentacion de Flux --- Readme.md | 2 + docs/set-up-flux/instala-y-usa-flux.md | 92 ++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 docs/set-up-flux/instala-y-usa-flux.md diff --git a/Readme.md b/Readme.md index 45029c2..42d08c5 100644 --- a/Readme.md +++ b/Readme.md @@ -17,3 +17,5 @@ La siguiente guía describe cómo configurar un Cluster de Kubernetes utilizando ### Parte 2: [Set Up VSCode Tunnel](./docs/set-up-vscode-tunnel/crear-entorno-vscode-tunnel.md) +### Parte 3: [Usa Flux para GitOps](./docs/set-up-flux/instala-y-usa-flux.md) + diff --git a/docs/set-up-flux/instala-y-usa-flux.md b/docs/set-up-flux/instala-y-usa-flux.md new file mode 100644 index 0000000..7221ec1 --- /dev/null +++ b/docs/set-up-flux/instala-y-usa-flux.md @@ -0,0 +1,92 @@ +# Instala y Usa Flux para hacer deploy del vscode-tunnel con GitOps + +## Paso 1: Instala Flux CLI + +### En macOS +1. Asegúrate de tener Homebrew instalado. Si no lo tienes, instálalo siguiendo las instrucciones en [https://brew.sh/](https://brew.sh/). +2. Ejecuta el siguiente comando: + ```bash + brew install fluxcd/tap/flux + ``` + +### En Linux +1. Descarga el binario de Flux CLI desde el repositorio oficial: + ```bash + curl -s https://fluxcd.io/install.sh | sudo bash + ``` +2. Verifica que Flux CLI esté instalado correctamente: + ```bash + flux --version + ``` + +### En Windows +1. Descarga el ejecutable de Flux CLI desde la página oficial de releases en GitHub: [https://github.com/fluxcd/flux2/releases](https://github.com/fluxcd/flux2/releases). +2. Agrega el ejecutable a tu PATH para que puedas usarlo desde la terminal. +3. Alternativamente, puedes instalar Flux CLI usando Chocolatey: + ```powershell + choco install flux + ``` +4. Verifica la instalación ejecutando: + ```powershell + flux --version + ``` +## Paso 2: Chequea que tu Cluster de Kubernetes sea compatible + +`flux check --pre` + +Te arrojará un output asi: + +```bash +► checking prerequisites +✔ Kubernetes 1.32.3 >=1.31.0-0 +✔ prerequisites checks passed +``` + +## Paso 3: Crea los recursos de Flux en el Repositorio + +Crea un PAT en Gitea y colocalo como variable de entorno, con Github el proceso es similar, funciona con token también: +`export GITEA_TOKEN=` + +```bash +flux bootstrap gitea \ + --token-auth \ + --owner=aleleba \ # <-- Coloca el usuario con permisos de administracion del repositorio. + --repository=kubernetes-vscode \ # <-- Coloca el nombre del repositorio. + --branch=flux-demo \ # <-- Coloca la rama que manejará Flux en micaso creara una llamada flux-demo. + --path=clusters/cluster \ # <-- Importante es la carpeta donde flux dejará los archivos de definición de sí mismo en el Cluster. + --personal +``` + +## Paso 4: Deja que Flux maneje la infraestructura de vscode-tunnel + +**Nota:** Asegúrate de estar en la rama `flux-demo` antes de ejecutar los siguientes comandos. + +Para que Flux maneje automáticamente los cambios en los archivos de definición dentro del directorio `infrastructure`, crea un `Kustomization` que apunte a este directorio. + +```bash +flux create kustomization vscode-tunnel \ + --source=GitRepository/kubernetes-vscode \ + --path="./infrastructure" \ + --prune=true \ + --interval=1m \ + --export > ./clusters/cluster/vscode-tunnel-kustomization.yaml +``` + +Aplica el archivo generado: +```bash +kubectl apply -f ./clusters/cluster/vscode-tunnel-kustomization.yaml +``` + +Con esto, Flux monitoreará el directorio `infrastructure` y aplicará automáticamente los cambios en el cluster. + +## Paso 5: Eliminar los recursos de Flux si algo no funcionó + +Eliminar los recursos de Flux del clúster: +`kubectl delete namespace flux-system` + +Borrar la rama de demo flux-demo del repositorio: +```bash +git checkout master # <-- Cambia de rama +git branch -D flux-demo # <-- Elimina la rama local +git push origin --delete flux-demo # <-- Elimina la rama remota +```