4.0 KiB
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 - -u: Desinstalar el chart
- -d: Agrega datos básicos a la DB
Ejemplos
Cambio de versión de postgres
Si se quiere modificar la versión de la base de datos se puede hacer simplemente:
./run.sh -p 13.1
Esto actualizará todo lo que sea necesario para que se pueda hacer este cambio.
Especificar número de réplicas para la API
./run.sh -r 6
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. -
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
.