Agregando Documentacion de Flux
This commit is contained in:
92
docs/set-up-flux/instala-y-usa-flux.md
Normal file
92
docs/set-up-flux/instala-y-usa-flux.md
Normal file
@ -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=<gt-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
|
||||
```
|
Reference in New Issue
Block a user