Update run.sh and README.md
This commit is contained in:
parent
08d60dc91e
commit
568bb08da7
54
README.md
54
README.md
|
@ -1,56 +1,72 @@
|
||||||
# Uso de `run.sh`
|
# Uso de `run.sh`
|
||||||
|
|
||||||
El script `run.sh` automatiza el proceso de implementación para un entorno de `k8s` utilizando `minikube`. Incluye la construcción de imágenes `Docker`, la personalización de versiones de `Postgres`, la habilitación de `TLS` y la configuración de réplicas para la API.
|
El script `run.sh` automatiza el proceso de implementación para un entorno de `k8s` utilizando `minikube`. Incluye la construcción de imágenes `docker`, la personalización de versiones de `postgres`, la habilitación de `SSL` y la configuración de réplicas para la API.
|
||||||
|
|
||||||
## Requisitos
|
## Requisitos
|
||||||
|
|
||||||
- [Minikube](https://minikube.sigs.k8s.io/docs/start/)
|
- [minikube](https://minikube.sigs.k8s.io/docs/start/)
|
||||||
- [Docker](https://docs.docker.com/get-docker/)
|
- [docker](https://docs.docker.com/get-docker/)
|
||||||
- [Helm](https://helm.sh/docs/intro/install/)
|
- [helm](https://helm.sh/docs/intro/install/)
|
||||||
|
|
||||||
## Uso
|
## Uso
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./run.sh -i # Modo interactivo
|
./run.sh -i # Modo interactivo
|
||||||
./run.sh -p <version> -s <Y|N> -r <number> # Modo no interactivo
|
./run.sh -p <version> -s <Y|N> -r <number> # Modo no interactivo
|
||||||
|
./run.sh -p <version> -s <Y|N> -r <number> -f # Modo no interactivo con Fluentd habilitado
|
||||||
```
|
```
|
||||||
|
|
||||||
## Opciones de línea de comandos
|
## Opciones de línea de comandos
|
||||||
|
|
||||||
- **-i:** Modo interactivo
|
- **-i:** Modo interactivo
|
||||||
- **-p <version>:** Especificar la versión de Postgres
|
- **-p <version>:** Especificar la versión de `postgres`
|
||||||
- **-s <Y|N>:** Habilitar o deshabilitar SSL (Y para sí, N para no)
|
- **-s <Y|N>:** Habilitar o deshabilitar `SSL` (Y para sí, N para no)
|
||||||
- **-r <number>:** Especificar el número de réplicas para la API
|
- **-r <number>:** Especificar el número de réplicas para la API
|
||||||
|
- **-f:** Habilitar `fluentd` para la agregación de registros
|
||||||
|
|
||||||
## Funcionalidad del script
|
## Funcionalidad del script
|
||||||
|
|
||||||
1. **Verificación del estado de Minikube:**
|
1. **Verificación del estado de minikube:**
|
||||||
|
|
||||||
El script verifica si Minikube ya está en ejecución y lo inicia si no lo está.
|
El script verifica si `minikube` ya está en ejecución y lo inicia si no lo está.
|
||||||
|
|
||||||
2. **Versión de Postgres y construcción:**
|
2. **Versión de postgres y construcción:**
|
||||||
|
|
||||||
Solicita al usuario la versión de Postgres, construye imágenes `Docker` y actualiza la versión en el archivo de valores de `Helm`.
|
Solicita al usuario la versión de postgres, construye imágenes `docker` y actualiza la versión en el archivo de valores de `helm`.
|
||||||
|
|
||||||
3. **Configuración de TLS:**
|
3. **Configuración de TLS:**
|
||||||
|
|
||||||
Pregunta al usuario si desea habilitar `TLS` y actualiza el archivo de valores de `Helm` en consecuencia.
|
Pregunta al usuario si desea habilitar `TLS` y actualiza el archivo de valores de `helm` en consecuencia.
|
||||||
|
|
||||||
4. **Configuración de réplicas para la API:**
|
4. **Configuración de réplicas para la API:**
|
||||||
|
|
||||||
Solicita al usuario el número de réplicas para la API y actualiza el archivo de valores de `Helm`.
|
Solicita al usuario el número de réplicas para la API y actualiza el archivo de valores de `helm`.
|
||||||
|
|
||||||
5. **Configuración de Ingress:**
|
5. **Configuración de Ingress:**
|
||||||
|
|
||||||
Habilita el complemento Ingress si Minikube está en ejecución.
|
Habilita extensión ingress si `minikube` está en ejecución.
|
||||||
|
|
||||||
6. **Implementación de Helm:**
|
6. **Configuración de fluentd (opcional):**
|
||||||
|
|
||||||
Verifica la existencia de un release de `Helm` llamado "exam" y lo actualiza o instala según sea necesario.
|
Se consulta al usuario si desea habilitar `fluentd` para la agregación de registros. Puede activarse o desactivarse directamente en el archivo `values.yaml`. Es importante destacar que, con el objetivo de mantener la simplicidad y evitar el "bloat" de `values.yaml`, se proporciona un archivo adicional llamado `fluentd.yaml`. Este archivo debe pasarse como parámetro `-f` a `helm` para configurar `fluentd` con los parámetros necesarios. Cabe señalar que esto es opcional, ya que `Fluentd` puede funcionar sin estas configuraciones, pero se recomienda su uso debido a que realiza algunas condiciones de contenedores de inicio para esperar el servicio de `fluentd` y para recopilar solo los registros de los contenedores `exam-*` (y no todos los registros de `k8s`).
|
||||||
|
|
||||||
## build.sh
|
Se utiliza la siguiente instrucción al instalar o actualizar `helm`:
|
||||||
|
|
||||||
El script `build.sh` es el encargado de construir imágenes de `Docker`. Ofrece diversas opciones para personalizar el proceso de construcción. Aunque es posible ejecutarlo de forma independiente, se recomienda utilizar el script `run.sh`, ya que actúa como `wrapper`. De todos modos se adjunta la documentación pertinente:
|
```bash
|
||||||
|
helm install exam ./helm -n exam -f helm/values.yaml -f helm/fluentd.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
Para ver los registros de los contenedores `exam-*`, podés usar:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl logs -n exam exam-fluentd-0
|
||||||
|
```
|
||||||
|
|
||||||
|
Para realizar la configuración y el envío a un backend de registros como `elasticsearch`, podés editar `fluentd.yaml` según tus necesidades.
|
||||||
|
|
||||||
|
7. **Implementación de helm:**
|
||||||
|
|
||||||
|
Verifica la existencia de un release de helm llamado "exam" y lo actualiza o instala según sea necesario.
|
||||||
|
|
||||||
### Uso
|
### Uso
|
||||||
|
|
||||||
|
@ -60,8 +76,8 @@ El script `build.sh` es el encargado de construir imágenes de `Docker`. Ofrece
|
||||||
|
|
||||||
### Opciones
|
### Opciones
|
||||||
|
|
||||||
- `-b`: Construye las imágenes de `Docker`.
|
- `-b`: Construye las imágenes de `docker`.
|
||||||
- `-v <version>`: Especifica la versión de `PostgreSQL`.
|
- `-v <version>`: Especifica la versión de `postgreSQL`.
|
||||||
|
|
||||||
### Ejemplo
|
### Ejemplo
|
||||||
|
|
||||||
|
|
3
run.sh
3
run.sh
|
@ -35,6 +35,7 @@ if [ "$interactive" == true ]; then
|
||||||
read -p "Enter the Postgres version (press Enter for default 13.3): " postgres_version
|
read -p "Enter the Postgres version (press Enter for default 13.3): " postgres_version
|
||||||
read -p "Do you want to enable SSL? [y/N]: " enable_ssl
|
read -p "Do you want to enable SSL? [y/N]: " enable_ssl
|
||||||
read -p "Enter the number of replicas for the API: " api_replicas
|
read -p "Enter the number of replicas for the API: " api_replicas
|
||||||
|
read -p "Do you want to enable fluentd? [y/N]: " fluentd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$postgres_version" ]; then
|
if [ -n "$postgres_version" ]; then
|
||||||
|
@ -78,7 +79,7 @@ $START_MINIKUBE && minikube addons enable ingress
|
||||||
|
|
||||||
helm dependency build helm
|
helm dependency build helm
|
||||||
|
|
||||||
if [ "$fluentd" == true ]; then
|
if [ "$fluentd" == true ] || [ "$fluentd" == "y" ] || [ "$fluentd" == "Y" ]; then
|
||||||
VALUES=("-f" "helm/values.yaml" "-f" "helm/fluentd.yaml")
|
VALUES=("-f" "helm/values.yaml" "-f" "helm/fluentd.yaml")
|
||||||
helm status exam -n exam > /dev/null 2>&1 && helm upgrade exam ./helm -n exam ${VALUES[@]} || helm install exam ./helm -n exam ${VALUES[@]}
|
helm status exam -n exam > /dev/null 2>&1 && helm upgrade exam ./helm -n exam ${VALUES[@]} || helm install exam ./helm -n exam ${VALUES[@]}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue