Multi namespaces
Personalización de Namespaces
Por cada namespace nuevo que vaya a utilizar, es necesario crear el recurso previamente en su cluster
kubectl namespace create <nombre-de-nuevo-namespace>
Después de ejecutar el script nuevo-overlay.sh
, todas las aplicaciones por defecto quedan con un único namespace (ej: uunn-overlay
). Si se desea desplegar cada aplicación en namespaces separados, debes realizar los siguientes cambios en los archivos de configuración de cada servicio:
Huarpe
- Cambiar al namespace correspondiente el en archivo
uunn-overlay/apps/huarpe/namespace/kustomization.yaml
de la aplicacion:
namespace: uunn-namespace
Documentos
- Cambiar al namespace correspondiente el en archivo
uunn-overlay/apps/documentos/namespace/kustomization.yaml
de la aplicacion:
namespace: uunn-namespace
- Modificar el namespace
http://docs-api.uunn-namespace
por el correspondiente en las siguientes variables y archivos:
uunn-overlay/apps/huarpe/config/huarpe.env
:
API_DOCS_URL=http://docs-api.uunn-namespace/docs/rest/
en el achivo uunn-overlay/apps/sudocu/config/config-api-server.json
se deben cambiar dos parametros, los cuales son los siguientes:
"url": "http://docs-api.uunn-namespace/docs/rest/backend/documentos",
"api": "http://docs-api.uunn-namespace/docs/rest/backend",
Personas
- Cambiar al namespace correspondiente el en archivo
uunn-overlay/apps/personas/namespace/kustomization.yaml
de la aplicacion:
namespace: uunn-namespace
- Modificar el namespace
http://personas-api.uunn-namespace
por el correspondiente en las siguientes variables y archivos:
uunn-overlay/apps/huarpe/config/huarpe.env
:
API_PERSONAS_URL=http://personas-api.uunn-namespace:8080/api/v1/
uunn-overlay/secrets/docs-secrets.env
:
base_uri:'http://personas-api.uunn-namespace:8080/api/v1/'
uunn-overlay/secrets/usuarios-secrets.env
:
http://personas-api.uunn-namespace:8080/api/v1/
Usuarios
- Cambiar al namespace correspondiente el en archivo
uunn-overlay/apps/usuarios/namespace/kustomization.yaml
de la aplicacion:
namespace: uunn-namespace
- Modificar el namespace
http://usuarios-api.uunn-namespace
por el correspondiente en las siguientes variables y archivos:
- Archivo
uunn-overlay/apps/huarpe/config/huarpe.env
:
API_USUARIOS_URL=http://usuarios-api.uunn-namespace/api/v1/
- Archivo
uunn-overlay/secrets/docs-secrets.env
:
base_uri:'http://usuarios-api.uunn-namespace/api/v1/usuarios'
Sudocu
- Cambiar al namespace correspondiente el en archivo
uunn-overlay/apps/sudocu/namespace/kustomization.yaml
de la aplicacion:
namespace: uunn-namespace
- Modificar el namespace
http://sudocu-api-server.uunn-namespace
por el correspondiente en las siguientes variables y archivos:
- Archivo
uunn-overlay/secrets/docs-secrets.env
:
base_uri:'http://sudocu-api-server.uunn-namespace:8080/'
- Archivo
uunn-overlay/apps/sudocu/config/config-api-server.json
:
"url_notificacion": "http://sudocu-api-server.uunn-namespace:8080/integracion/notificacion"
Stamper
- Cambiar al namespace correspondiente el en archivo
uunn-overlay/apps/estampador/namespace/kustomization.yaml
de la aplicacion:
namespace: uunn-namespace
- Modificar el namespace
docs-stamper.uunn-namespace
por el correspondiente para la siguiente variables en el siguiente archivos:
- Archivo
uunn-overlay/apps/documentos/config/docs.env
:
STAMPER_PARAMS={base_uri:'docs-stamper.uunn-namespace:8080'}
Servicios (postgres, minio, ldap)
Tenga en cuenta que si elige desplegar los servicios de las aplicaciones en Kubernetes y quiere cambiar el namespace en el cual se desplegarán, puede hacerlo editando los archivos correspondientes:
uunn-overlay/services/postgres/namespace/kustomization.yaml
uunn-overlay/services/minio/namespace/kustomization.yaml
uunn-overlay/services/ldap/namespace/kustomization.yaml
Si cambia el namespace donde se despliegan estos servicios, deberá también reflejarlo en las variables de entorno en cada aplicativo que los utiliza (Por ejemplo: El archivo uunn-overlay/apps/usuarios/config/usuarios.env
posee la variable DB_HOST
que referencia al postgres, y la variable LDAP_HOST
que referencia a la instancia de LDAP).
Para configurar correctamente esas variables en situaciones de multiples namespaces, debe referir a la instancia del servicio con el siguiente formato: <servicio.namespace>
.
Ejemplo: DB_HOST=db-siu.namespace
, LDAP_HOST=ldap-siu.namespace
Nota:
db-siu
yldap-siu
es el nombre de los servicios en dichos pod. Esto puede observarse en los archivos yaml del repositorio base. Se sugiere leer la siguiente documentación en relación a este punto: DNS para Services y Pods
Esto garantizará que los servicios se desplieguen correctamente en sus respectivos namespaces.