Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bcom-tp-etl-transformation-pipelines
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
general
bcom-tp-etl-transformation-pipelines
Commits
4070e361
Commit
4070e361
authored
Jun 26, 2023
by
Cristian Aguirre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update 26-06-23. Update README
parent
37a85a5c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
8 deletions
+51
-8
README.md
README.md
+51
-8
No files found.
README.md
View file @
4070e361
...
@@ -35,7 +35,7 @@ docker push <nombrecuenta>/<repositorio>:<tag>
...
@@ -35,7 +35,7 @@ docker push <nombrecuenta>/<repositorio>:<tag>
3.
- Con la imagen ya subida a un repositorio, colocamos este nombre en el archivo
3.
- Con la imagen ya subida a un repositorio, colocamos este nombre en el archivo
**airflow-envvars-configmap.yaml**
, además que aprovechamos en actualizar y validar
**airflow-envvars-configmap.yaml**
, además que aprovechamos en actualizar y validar
todas las configuraciones presentes
en dicho archivo
y también en nuestro
todas las configuraciones presentes y también en nuestro
archivo de Secrets
**airflow-secrets.yaml**
archivo de Secrets
**airflow-secrets.yaml**
```
text
```
text
...
@@ -75,13 +75,56 @@ Adicionalmente, validar o actualizar los valores del archivo **airflow-secrets.y
...
@@ -75,13 +75,56 @@ Adicionalmente, validar o actualizar los valores del archivo **airflow-secrets.y
tiene encriptación con método
**"base64"**
- tipo de Secret
**Opaque**
)
tiene encriptación con método
**"base64"**
- tipo de Secret
**Opaque**
)
```
text
```
text
AWS_ACCESS_KEY: bWluaW9hZG1pbg== # ACCESS_KEY de AWS si en caso se usa bucket S3 para guardar los DAG's
AWS_ACCESS_KEY: bWluaW9hZG1pbg== # ACCESS_KEY de AWS si en caso se usa bucket S3 para guardar los DAG's
AWS_SECRET_KEY: bWluaW9hZG1pbg== # SECRET_KEY de AWS si en caso se usa bucket S3 para guardar los DAG's
AWS_SECRET_KEY: bWluaW9hZG1pbg== # SECRET_KEY de AWS si en caso se usa bucket S3 para guardar los DAG's
MINIO_USER: bWluaW9hZG1pbg== # Usuario de Minio para conectarse al bucket del Minio Server
MINIO_USER: bWluaW9hZG1pbg== # Usuario de Minio para conectarse al bucket del Minio Server
MINIO_PASSWORD: bWluaW9hZG1pbg== # Contraseña de Minio para conectarse al bucket del Minio Server
MINIO_PASSWORD: bWluaW9hZG1pbg== # Contraseña de Minio para conectarse al bucket del Minio Server
```
```
4.
- Ejecutar el script
**script_apply.sh**
para crear todos los configsMaps, volúmenes, secrets, deployments
4.
-
**
Como nuestro despliegue hace uso de NFS como sistema de persistencia de datos, tanto para la BD de Postgres,
logs de Airflow y dags desarrollados
**
, entonces se tiene que configurar los servidores NFS usados.
Para eso modificamos y/o validamos el archivo
**airflow-volumes.yaml**
(sección de _PersistentVolume_) para corrobar los hosts y paths de los
volúmenes. Por ejemplo, parte del template donde está el volúmen para los dags desarrollados es el siguiente:
```
yaml
apiVersion
:
v1
kind
:
PersistentVolume
metadata
:
name
:
airflow-dags-pv
namespace
:
bcom-airflow
spec
:
capacity
:
storage
:
300Mi
# Espacio solicitado para el storage de los dags
accessModes
:
-
ReadWriteMany
storageClassName
:
airflow-dags
nfs
:
server
:
192.168.1.11
# Host del servidor NFS a usar
path
:
"
/mnt/nfs_share"
# Path dentro del servidor NFS dedicado a almacenar los DAG's desarrollados
```
Luego de configurar la ruta del host y path del servidor NFS a usar para cada requisito, se modifica y/o valida
cuánto storage del volumen se va a usar para tal propósito. Por ejemplo para los dags desarrollados, vamos a
indicar que de los 300Mi, vamos a utilizar 200Mi. Esto también dentro del archivo airflow-volumes.yaml, pero en la
sección de PersistentVolumeClaim (este uso de volumen se enlaza con el volumen creado antes por medio del
_storageClassName_
):
```
yaml
apiVersion
:
v1
kind
:
PersistentVolumeClaim
metadata
:
name
:
airflow-dags-pvc
namespace
:
bcom-airflow
spec
:
accessModes
:
-
ReadWriteMany
storageClassName
:
airflow-dags
resources
:
requests
:
storage
:
200Mi
# Se solicita un uso de 200Mi para el volumen de tipo airflow-dags
```
5.
- Ejecutar el script
**script_apply.sh**
para crear todos los configsMaps, volúmenes, secrets, deployments
y servicios para correr Airflow.
y servicios para correr Airflow.
⚠️ _Nota_: Verifique si usará la sincronización de la carpeta
**dags**
con un bucket en Minio o en S3.
⚠️ _Nota_: Verifique si usará la sincronización de la carpeta
**dags**
con un bucket en Minio o en S3.
...
@@ -95,7 +138,7 @@ Con este comando, tiene que esperar unos minutos para que todos los recursos est
...
@@ -95,7 +138,7 @@ Con este comando, tiene que esperar unos minutos para que todos los recursos est
normalmente. Todos los recursos serán creados en el namespace
**bcom-airflow**
(configurado en los
normalmente. Todos los recursos serán creados en el namespace
**bcom-airflow**
(configurado en los
templates)
templates)
5
.
- (OPCIONAL) Si en caso a deployado usando Minikube, será necesario exponer el puerto del Airflow Webserver
6
.
- (OPCIONAL) Si en caso a deployado usando Minikube, será necesario exponer el puerto del Airflow Webserver
para que desde su local puede ingresar a la web. La forma más simple es exponiendo directamente el puerto del
para que desde su local puede ingresar a la web. La forma más simple es exponiendo directamente el puerto del
servicio del clúster a nuestro localhost con la ayuda de _kubectl_. Ejecutamos el siguiente comando:
servicio del clúster a nuestro localhost con la ayuda de _kubectl_. Ejecutamos el siguiente comando:
...
@@ -105,7 +148,7 @@ kubectl port-forward <ID-POD-AIRFLOW-WEBSERVER> 8081:8080 -n bcom-airflow
...
@@ -105,7 +148,7 @@ kubectl port-forward <ID-POD-AIRFLOW-WEBSERVER> 8081:8080 -n bcom-airflow
Ahora desde su navegador puede ingresar la ruta http://localhost:8081 para ver la Web de Airflow
Ahora desde su navegador puede ingresar la ruta http://localhost:8081 para ver la Web de Airflow
6
.
- Validamos que nuestros POD's están corriendo en estado "Running" con el siguiente comando:
7
.
- Validamos que nuestros POD's están corriendo en estado "Running" con el siguiente comando:
```
shell
```
shell
kubectl get pods
-n
bcom-airflow
kubectl get pods
-n
bcom-airflow
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment