From e6bc282ee16fb828bed5ef3051fd9cd4d3acb172 Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 12:51:55 +0100 Subject: [PATCH 01/12] add kubernetes executor s3 logging docs --- ...irflow-kubernetes-executor-s3-logging.yaml | 32 ++++++++++++++ .../airflow/images/airflow_dag_s3_logs.png | Bin 0 -> 99042 bytes .../images/airflow_edit_s3_connection.png | Bin 0 -> 38618 bytes .../using-kubernetes-executors.adoc | 39 ++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml create mode 100644 docs/modules/airflow/images/airflow_dag_s3_logs.png create mode 100644 docs/modules/airflow/images/airflow_edit_s3_connection.png diff --git a/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml b/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml new file mode 100644 index 00000000..3e7b8bee --- /dev/null +++ b/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml @@ -0,0 +1,32 @@ +apiVersion: airflow.stackable.tech/v1alpha1 +kind: AirflowCluster +metadata: + name: airflow +spec: + image: + productVersion: 2.9.3 + clusterConfig: {} + webservers: + roleGroups: + default: + envOverrides: + AIRFLOW_LOGGING_REMOTE_LOGGING: "True" + AIRFLOW_LOGGING_REMOTE_BASE_LOG_FOLDER: s3:///airflow-task-logs/ + # The name / connection ID created in the Airflow Web UI + AIRFLOW_LOGGING_REMOTE_LOG_CONN_ID: minio + replicas: 1 + schedulers: + roleGroups: + default: + envOverrides: + AIRFLOW_LOGGING_REMOTE_LOGGING: "True" + AIRFLOW_LOGGING_REMOTE_BASE_LOG_FOLDER: s3:///airflow-task-logs/ + # The name / connection ID created in the Airflow Web UI + AIRFLOW_LOGGING_REMOTE_LOG_CONN_ID: minio + replicas: 1 + kubernetesExecutors: + envOverrides: + AIRFLOW_LOGGING_REMOTE_LOGGING: "True" + AIRFLOW_LOGGING_REMOTE_BASE_LOG_FOLDER: s3:///airflow-task-logs/ + # The name / connection ID created in the Airflow Web UI + AIRFLOW_LOGGING_REMOTE_LOG_CONN_ID: minio diff --git a/docs/modules/airflow/images/airflow_dag_s3_logs.png b/docs/modules/airflow/images/airflow_dag_s3_logs.png new file mode 100644 index 0000000000000000000000000000000000000000..52523347871780a5c04d7d5f534427c2327f5f79 GIT binary patch literal 99042 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 literal 0 HcmV?d00001 diff --git a/docs/modules/airflow/images/airflow_edit_s3_connection.png b/docs/modules/airflow/images/airflow_edit_s3_connection.png new file mode 100644 index 0000000000000000000000000000000000000000..526372127d854a9277944e001c132e596ce9a565 GIT binary patch literal 38618 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 eh67F8{U) `Connections` -> `Add a new record` (the plus). Then enter your minio host and credentials as shown. + +image::airflow_edit_s3_connection.png[Airflow connection menu] + +The name or connection ID is `minio`, the type is `Amazon Web Services`, the `AWS Access Key ID` and `AWS Secret Access Key` are filled with the S3 credentials. +The `Extra` field contains the endpoint URL like: + +[source,json] +---- +{ + "endpoint_url": "http://minio.minio.svc.cluster.local:9000" +} +---- + +=== Executor configuration + +Now we can add ENV variables to the Airflow cluster definition and configure the S3 logging. + +[source,yaml] +---- +include::example$example-airflow-kubernetes-executor-s3-logging.yaml[] +---- + +Now you should be able to fetch and inspect logs in the Airflow Web UI from S3 for each DAG. + +image::airflow_dag_s3_logs.png[Airflow DAG S3 logs] + From f59e41fdf94677025f6dd255446e87b874a6bad5 Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 13:00:10 +0100 Subject: [PATCH 02/12] attempt to fix linter --- .../example-airflow-kubernetes-executor-s3-logging.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml b/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml index 3e7b8bee..0fe036dd 100644 --- a/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml +++ b/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml @@ -29,4 +29,4 @@ spec: AIRFLOW_LOGGING_REMOTE_LOGGING: "True" AIRFLOW_LOGGING_REMOTE_BASE_LOG_FOLDER: s3:///airflow-task-logs/ # The name / connection ID created in the Airflow Web UI - AIRFLOW_LOGGING_REMOTE_LOG_CONN_ID: minio + AIRFLOW_LOGGING_REMOTE_LOG_CONN_ID: minio From bd0d0f9257e643202f2c86e9219d6747851792f2 Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 13:06:21 +0100 Subject: [PATCH 03/12] attempt to fix linter 2 --- .../airflow/pages/usage-guide/using-kubernetes-executors.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc index 1ccbe043..54e2aa9e 100644 --- a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc +++ b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc @@ -35,8 +35,7 @@ spec: Kubernetes Executors and their respective Pods only live as long as the DAG they run. Afterwards the Pod is immediatly terminated and e.g. console output or logs are gone. -In order to persist executor logs, Airflow can be configured to store its https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/stable/kubernetes_executor.html[executor logs on disk (PV)] -or as described in the following section on S3. +In order to persist executor logs, Airflow can be configured to store its https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/stable/kubernetes_executor.html[executor logs on disk (PV)] or as described in the following section on S3. === Airflow Web UI From 0f9731778185a25a1b05c76e1f0be107b59765dd Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 13:32:50 +0100 Subject: [PATCH 04/12] attempt to fix linter --- .../airflow/pages/usage-guide/using-kubernetes-executors.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc index 54e2aa9e..86be6905 100644 --- a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc +++ b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc @@ -65,4 +65,3 @@ include::example$example-airflow-kubernetes-executor-s3-logging.yaml[] Now you should be able to fetch and inspect logs in the Airflow Web UI from S3 for each DAG. image::airflow_dag_s3_logs.png[Airflow DAG S3 logs] - From 8b06513959e431307ce4ed0f896acb22af4e6017 Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 13:56:57 +0100 Subject: [PATCH 05/12] Update docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc Co-authored-by: Sebastian Bernauer --- .../airflow/pages/usage-guide/using-kubernetes-executors.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc index 86be6905..c5a178a7 100644 --- a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc +++ b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc @@ -33,7 +33,8 @@ spec: == Logging -Kubernetes Executors and their respective Pods only live as long as the DAG they run. Afterwards the Pod is immediatly terminated and e.g. console output or logs are gone. +Kubernetes Executors and their respective Pods only live as long as the task they are executing. +Afterwards the Pod is immediately terminated and e.g. console output or logs are gone. In order to persist executor logs, Airflow can be configured to store its https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/stable/kubernetes_executor.html[executor logs on disk (PV)] or as described in the following section on S3. From 7a3446fbcd148f5771c6ecf1b7464e23706c985d Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 13:57:09 +0100 Subject: [PATCH 06/12] Update docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc Co-authored-by: Sebastian Bernauer --- .../airflow/pages/usage-guide/using-kubernetes-executors.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc index c5a178a7..3bbfe16a 100644 --- a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc +++ b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc @@ -36,7 +36,7 @@ spec: Kubernetes Executors and their respective Pods only live as long as the task they are executing. Afterwards the Pod is immediately terminated and e.g. console output or logs are gone. -In order to persist executor logs, Airflow can be configured to store its https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/stable/kubernetes_executor.html[executor logs on disk (PV)] or as described in the following section on S3. +In order to persist task logs, Airflow can be configured to store its https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/stable/kubernetes_executor.html#managing-dags-and-logs[executor logs on disk (PV)] or as described in the following section on S3. === Airflow Web UI From b5cddbeabf1cd4da959071e9c227b7efc81805de Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 13:57:43 +0100 Subject: [PATCH 07/12] Apply suggestions from code review Co-authored-by: Sebastian Bernauer --- .../pages/usage-guide/using-kubernetes-executors.adoc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc index 3bbfe16a..a1419011 100644 --- a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc +++ b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc @@ -40,7 +40,8 @@ In order to persist task logs, Airflow can be configured to store its https://ai === Airflow Web UI -In the Airflow Web UI, click on `Admin` -> `Connections` -> `Add a new record` (the plus). Then enter your minio host and credentials as shown. +In the Airflow Web UI, click on `Admin` -> `Connections` -> `Add a new record` (the plus). +Then enter your MinIO host and credentials as shown. image::airflow_edit_s3_connection.png[Airflow connection menu] @@ -50,19 +51,19 @@ The `Extra` field contains the endpoint URL like: [source,json] ---- { - "endpoint_url": "http://minio.minio.svc.cluster.local:9000" + "endpoint_url": "http://minio.default.svc.cluster.local:9000" } ---- === Executor configuration -Now we can add ENV variables to the Airflow cluster definition and configure the S3 logging. +Now you need to add the following ENV variables to the Airflow cluster definition to configure the S3 logging. [source,yaml] ---- include::example$example-airflow-kubernetes-executor-s3-logging.yaml[] ---- -Now you should be able to fetch and inspect logs in the Airflow Web UI from S3 for each DAG. +Now you should be able to fetch and inspect logs in the Airflow Web UI from S3 for each DAG run. image::airflow_dag_s3_logs.png[Airflow DAG S3 logs] From 58c7a9cf12a6b1e90b270d6b3908d041b7ab5538 Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 13:59:15 +0100 Subject: [PATCH 08/12] dont use env abbreviation --- .../airflow/pages/usage-guide/using-kubernetes-executors.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc index a1419011..61e77ca9 100644 --- a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc +++ b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc @@ -57,7 +57,7 @@ The `Extra` field contains the endpoint URL like: === Executor configuration -Now you need to add the following ENV variables to the Airflow cluster definition to configure the S3 logging. +Now you need to add the following environment variables to the Airflow cluster definition, in order to configure the S3 logging. [source,yaml] ---- From b74578800e8a362e639cb7a29e483ad7f187e453 Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 14:01:05 +0100 Subject: [PATCH 09/12] use anchors in yaml --- ...ple-airflow-kubernetes-executor-s3-logging.yaml | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml b/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml index 0fe036dd..cb7147b7 100644 --- a/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml +++ b/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml @@ -9,7 +9,7 @@ spec: webservers: roleGroups: default: - envOverrides: + envOverrides: &s3-logging-env-overrides AIRFLOW_LOGGING_REMOTE_LOGGING: "True" AIRFLOW_LOGGING_REMOTE_BASE_LOG_FOLDER: s3:///airflow-task-logs/ # The name / connection ID created in the Airflow Web UI @@ -18,15 +18,7 @@ spec: schedulers: roleGroups: default: - envOverrides: - AIRFLOW_LOGGING_REMOTE_LOGGING: "True" - AIRFLOW_LOGGING_REMOTE_BASE_LOG_FOLDER: s3:///airflow-task-logs/ - # The name / connection ID created in the Airflow Web UI - AIRFLOW_LOGGING_REMOTE_LOG_CONN_ID: minio + envOverrides: *s3-logging-env-overrides replicas: 1 kubernetesExecutors: - envOverrides: - AIRFLOW_LOGGING_REMOTE_LOGGING: "True" - AIRFLOW_LOGGING_REMOTE_BASE_LOG_FOLDER: s3:///airflow-task-logs/ - # The name / connection ID created in the Airflow Web UI - AIRFLOW_LOGGING_REMOTE_LOG_CONN_ID: minio + envOverrides: *s3-logging-env-overrides From 0f8b2f6597a59e6fe6184c486ba6e2942a221a34 Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 14:22:26 +0100 Subject: [PATCH 10/12] Update docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml Co-authored-by: Sebastian Bernauer --- ...ample-airflow-kubernetes-executor-s3-logging.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml b/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml index cb7147b7..0c88c900 100644 --- a/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml +++ b/docs/modules/airflow/examples/example-airflow-kubernetes-executor-s3-logging.yaml @@ -7,18 +7,18 @@ spec: productVersion: 2.9.3 clusterConfig: {} webservers: + envOverrides: &s3-logging-env-overrides + AIRFLOW_LOGGING_REMOTE_LOGGING: "True" + AIRFLOW_LOGGING_REMOTE_BASE_LOG_FOLDER: s3:///airflow-task-logs/ + # The name / connection ID created in the Airflow Web UI + AIRFLOW_LOGGING_REMOTE_LOG_CONN_ID: minio roleGroups: default: - envOverrides: &s3-logging-env-overrides - AIRFLOW_LOGGING_REMOTE_LOGGING: "True" - AIRFLOW_LOGGING_REMOTE_BASE_LOG_FOLDER: s3:///airflow-task-logs/ - # The name / connection ID created in the Airflow Web UI - AIRFLOW_LOGGING_REMOTE_LOG_CONN_ID: minio replicas: 1 schedulers: + envOverrides: *s3-logging-env-overrides roleGroups: default: - envOverrides: *s3-logging-env-overrides replicas: 1 kubernetesExecutors: envOverrides: *s3-logging-env-overrides From e4c512f29cab2db93849674e4df613402c7ad31c Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 14:26:00 +0100 Subject: [PATCH 11/12] improve language --- .../airflow/pages/usage-guide/using-kubernetes-executors.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc index 61e77ca9..184c49b0 100644 --- a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc +++ b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc @@ -57,7 +57,7 @@ The `Extra` field contains the endpoint URL like: === Executor configuration -Now you need to add the following environment variables to the Airflow cluster definition, in order to configure the S3 logging. +In order to configure the S3 logging, you need to add the following environment variables to the Airflow cluster definition: [source,yaml] ---- From 2be235e7a4054295cf0d687789a7f1c13da94182 Mon Sep 17 00:00:00 2001 From: Malte Sander Date: Mon, 27 Jan 2025 14:31:11 +0100 Subject: [PATCH 12/12] linter... --- .../airflow/pages/usage-guide/using-kubernetes-executors.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc index 184c49b0..c5771752 100644 --- a/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc +++ b/docs/modules/airflow/pages/usage-guide/using-kubernetes-executors.adoc @@ -57,7 +57,7 @@ The `Extra` field contains the endpoint URL like: === Executor configuration -In order to configure the S3 logging, you need to add the following environment variables to the Airflow cluster definition: +In order to configure the S3 logging, you need to add the following environment variables to the Airflow cluster definition: [source,yaml] ----