You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Install this demo on an existing Kubernetes cluster:
26
27
27
-
TODO: We need a pointer here to the last paragraph (forking repo) if people want to "interact" and not just install the demo (install command requires extra parameters)
28
+
// TODO: We need a pointer here to the last paragraph (forking repo) if people want to "interact" and not just install the demo (install command requires extra parameters)
28
29
29
30
[source,console]
30
31
----
@@ -87,21 +88,21 @@ This can be ignored in this case.
87
88
88
89
The ArgoCD Web UI entry page shows an overview of deployed applications, their status and other metadata as the repository or the date of the last synchronization run.
89
90
90
-
TODO: Screenshot - Argo UI overview
91
+
// TODO: Screenshot - Argo UI overview
91
92
92
93
Single applications can be inspected closer after clicking on e.g. the `airflow` project.
93
94
94
-
TODO: Screenshot - Argo UI - Airflow
95
+
// TODO: Screenshot - Argo UI - Airflow
95
96
96
97
Detailed information about the Airflow cluster, the cluster status and deployed components can be accessed in the application details.
97
98
Additionally, if the Git repository and the cluster state itself differ, these differences can be previewed in a code diff preview.
98
99
99
-
TODO: Screenshot - Argo UI - application details Network / List tab -> mark network tabs etc.
100
+
// TODO: Screenshot - Argo UI - application details Network / List tab -> mark network tabs etc.
100
101
101
102
Per default in this demo, the ArgoCD `Sync Policy` is set to `auto-sync`. This means that changes to the Git repository are immediatly synced into the cluster.
102
103
This is nice in the demo case, but should be disabled for production use cases.
Now, after a quick overview of the ArgoCD web UI, the following part demonstrates how to sync and deploy Stackable operators via ArgoCD.
107
108
@@ -224,7 +225,7 @@ template:
224
225
This allows control over which releases and versions are deployed to which cluster.
225
226
====
226
227
227
-
Now with ArgoCD deployed, the Sealed Secrets controller and Stackable operators up and running, you can inspect Airflow as the first Stackable product.
228
+
Now with ArgoCD, the Sealed Secrets controller and Stackable operators up and running, you can inspect Airflow as the first Stackable product.
In your browser, go to `http://localhost:8080` and login with username `admin` and password `adminadmin`.
240
+
The welcome page and an overview over synced DAGs should be displayed.
239
241
240
-
=== Starting DAGs
242
+
image::argo-cd-git-ops/airflow-welcome-page.png[]
241
243
242
-
TODO: screenshots?
244
+
=== Start the DAG
243
245
244
-
== Minio / S3 - check logs
246
+
The `date_demo` DAG can be started by moving the slider and trigger the DAG runs. The DAG itself can be inspected by clicking on it.
247
+
248
+
=== Inspect the DAG
249
+
250
+
The overview displays details about the DAG runs, durations and other metadata. The graph, code or events can be selected in the tabs for more details.
251
+
252
+
image::argo-cd-git-ops/airflow-dag-overview.png[]
253
+
254
+
=== Inspect a DAG run
255
+
256
+
A single DAG run can be selected by clicking on one of the green squares next to `run_every_minute` on the left.
257
+
More information is displayed here, and the DAG logs written by the Kubernetes Executor to S3/Minio can be selected in the `Logs` tab.
258
+
259
+
image::argo-cd-git-ops/airflow-dag-run-logs.png[]
260
+
261
+
In the logs, the output of the DAG is printed under a line containing `Output:`, the timestamp of the DAG run.
262
+
263
+
== Minio
245
264
246
265
Since the Airflow Kubernetes Executor will be deleted after its run, the logs are written to an S3 bucket. When accessing the logs via the Airflow webserver,
247
266
the logs are fetched from S3 instead of the (already deleted) executor pods. The Minio / S3 instance can be accessed via port-forward:
@@ -257,27 +276,37 @@ After the successful Airflow DAG run, logs should be stored in `demo/airflow-tas
257
276
NOTE: There will be an initial warning from the browser, stating that the site is insecure due to self-signed certificates.
258
277
This can be ignored in this case.
259
278
260
-
TODO: Screenshot - minio UI with log data
279
+
image::argo-cd-git-ops/minio-dag-run-logs.png[]
280
+
281
+
The log files contained in the single folders are the same as the logs shown above in the Airflow web UI.
282
+
283
+
== Conclusion
261
284
262
-
As a last step, in order to better interact and not just "sync" from the Git repository, the following paragraph demonstrates how to fork the demo repository and adapt the `stackablectl` install command to point to the forked repository.
263
-
In this forked repository, changes can be made the code and synced into the cluster via ArgoCD.
285
+
This demo illustrates the combination of ArgoCD and Stackable, using the full potential of GitOps and demonstrating key features for a successful IaC deployment using Stackable.
286
+
287
+
// TODO: extend...
288
+
289
+
As a last step, in order to synchronize changes made to manifests or secrets from the Git repository, the following paragraph demonstrates on how to run this demo on a forked GitHub repository.
264
290
265
291
== How to interact with ArgoCD and the Git repository
266
292
267
293
Since this Demo is hosted in the {stackable-demo-repository}[Stackable Demo repository], where merging etc. requires approval, the recommendation is to fork the {stackable-demo-repository}[Stackable Demo repository].
294
+
This {github-fork}[GitHub tutorial] shows how to fork a repository.
268
295
269
-
Once forked, you can install this demo using `stackablectl` parameters to customize the forked repository:
296
+
After forking the demo repository, a local copy can be cloned and the `stackablectl` install command must be parameterized with the fork URL and branch.
This way, ArgoCD is instructed to pull the Stackable manifests from the forked repository, where your changes can be properly synced via ArgoCD.
303
+
In this forked and cloned repository, changes can be made the code and synced into the cluster via ArgoCD.
304
+
305
+
This way, ArgoCD is instructed to pull the Stackable manifests from the forked repository, where the changes are synced via ArgoCD into the cluster.
277
306
278
307
=== Increase Airflow webserver replicas
279
308
280
-
Assuming your working directory ist the root of the forked demo repository, try to increase the `spec.webservers.roleGroups.<role-group>.replicas` in the folder `demos/argo-cd-git-ops/manifests/airflow/airflow.yaml`.
309
+
Assuming your working directory is the root of the forked demo repository, try to increase the `spec.webservers.roleGroups.<role-group>.replicas` in the folder `demos/argo-cd-git-ops/manifests/airflow/airflow.yaml`.
281
310
Once this is pushed / merged, ArgoCD should sync the changes and you should see more webserver pods.
0 commit comments