|
||
---|---|---|
data | ||
helm | ||
.gitignore | ||
README.md | ||
build.sh | ||
run.sh |
README.md
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 SSL
y la configuración de réplicas para la API.
Requisitos
Uso
./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> -f # Modo no interactivo con Fluentd habilitado
Opciones de línea de comandos
- -i: Modo interactivo
- -p : Especificar la versión de
postgres
- -s <Y|N>: Habilitar o deshabilitar
SSL
(Y para sí, N para no) - -r : Especificar el número de réplicas para la API
- -f: Habilitar
fluentd
para la agregación de registros
Funcionalidad del script
-
Verificación del estado de minikube:
El script verifica si
minikube
ya está en ejecución y lo inicia si no lo está. -
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 dehelm
. -
Configuración de TLS:
Pregunta al usuario si desea habilitar
TLS
y actualiza el archivo de valores dehelm
en consecuencia. -
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
. -
Configuración de Ingress:
Habilita extensión ingress si
minikube
está en ejecución. -
Configuración de fluentd (opcional):
Se consulta al usuario si desea habilitar
fluentd
para la agregación de registros. Puede activarse o desactivarse directamente en el archivovalues.yaml
. Es importante destacar que, con el objetivo de mantener la simplicidad y evitar el "bloat" devalues.yaml
, se proporciona un archivo adicional llamadofluentd.yaml
. Este archivo debe pasarse como parámetro-f
ahelm
para configurarfluentd
con los parámetros necesarios. Cabe señalar que esto es opcional, ya queFluentd
puede funcionar sin estas configuraciones, pero se recomienda su uso debido a que realiza algunas condiciones de contenedores de inicio para esperar el servicio defluentd
y para recopilar solo los registros de los contenedoresexam-*
(y no todos los registros dek8s
).Se utiliza la siguiente instrucción al instalar o actualizar
helm
: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: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 editarfluentd.yaml
según tus necesidades. -
Implementación de helm:
Verifica la existencia de un release de helm llamado "exam" y lo actualiza o instala según sea necesario.
-
Configuración de Secrets (opcional):
Para no mantener los secretos en el SVC (si se utiliza uno), se pueden pasar a
helm
mediante un archivosecrets.yaml
con la opción-f
. Si existe./helm/secrets.yaml
(en la carpeta./helm
, es decir en la misma ubicación quevalues.yaml
), se utilizarán estos valores; de lo contrario, se utilizarán los definidos envalues.yaml
. Estos valores sobrescribirán los existentes.Cabe destacar que al crear
./helm/secrets.yaml
, el scriptrun.sh
lo detectará automáticamente y lo utilizará al ejecutarhelm
. Por lo tanto, no es necesario realizar acciones adicionales, ya que el script gestionará la detección y el paso de este archivo ahelm
.
Uso
./build.sh -d <dominio> -b -v <versión>
Opciones
-b
: Construye las imágenes dedocker
.-v <version>
: Especifica la versión depostgreSQL
.
Ejemplo
./build.sh -d ejemplo.com -b -v 13.3