Skip to content

Instantly share code, notes, and snippets.

@brakmic
Created March 10, 2025 14:52
Show Gist options
  • Select an option

  • Save brakmic/696e32824f10299f5b2efc3a17314a82 to your computer and use it in GitHub Desktop.

Select an option

Save brakmic/696e32824f10299f5b2efc3a17314a82 to your computer and use it in GitHub Desktop.
QGIS Deployment on K8s
+-------------------------------------------------------------------------------------------+
|                                                                                           |
|  Kubernetes Cluster (Namespace: qgis-system)                                              |
|                                                                                           |
|    +---------------+                                                                      |
|    |               |                                                                      |
|    | Ingress       |----+--------------------+                                            |
|    | Controller    |    |                    |                                            |
|    |               |    |                    |                                            |
|    +---------------+    |                    |                                            |
|                         |                    |                                            |
|                         v                    v                                            |
|             +-----------------+    +-----------------+                                    |
|             |                 |    |                 |                                    |
|             | Service:        |    | Service:        |                                    |
|             | qgis-viewer     |    | qgis-server     |                                    |
|             |                 |    |                 |                                    |
|             +---------+-------+    +---------+-------+                                    |
|                       |                      |                                            |
|                       |                      |                                            |
|                       v                      v                                            |
|    +-----------------------------------+    +-----------------------------------+         |
|    |                                   |    |                                   |         |
|    |  Deployment: qgis-viewer          |    |  Deployment: qgis-server          |         |
|    |                                   |    |                                   |         |
|    |  +-------------+  +------------+  |    |  +-------------+  +------------+  |         |
|    |  | Pod         |  | Pod        |  |    |  | Pod         |  | Pod        |  |         |
|    |  |             |  |            |  |    |  |             |  |            |  |         |
|    |  | - Web Server|  | - Web      |  |    |  | - NGINX     |  | - NGINX    |  |         |
|    |  | - Frontend  |  |   Server   |  |    |  | - FCGI      |  | - FCGI     |  |         |
|    |  | - UI Assets |  | - Assets   |  |    |  | - QGIS      |  | - QGIS     |  |         |
|    |  +-------------+  +------------+  |    |  +-------------+  +------------+  |         |
|    |                                   |    |                                   |         |
|    |  +--------------------------+     |    |  +---------------------------+    |         |
|    |  | ConfigMaps:              |     |    |  | ConfigMaps:               |    |         |
|    |  |                          |     |    |  |                           |    |         |
|    |  | - HTML/JS/CSS (Simple)   |     |    |  | - QGIS Project File       |    |         |
|    |  | - NGINX Configuration    |     |    |  | - NGINX Configuration     |    |         |
|    |  | - Application Config     |     |    |  | - Entrypoint Script       |    |         |
|    |  +--------------------------+     |    |  +---------------------------+    |         |
|    |                                   |    |                                   |         |
|    |                                   |    |  +---------------------------+    |         |
|    |                                   |    |  | Volumes:                  |    |         |
|    |                                   |    |  |                           |    |         |
|    |                                   |    |  | - GIS Vector Data         |    |         |
|    |                                   |    |  | - GIS Raster Data         |    |         |
|    |                                   |    |  | - Authentication Data     |    |         |
|    |                                   |    |  +---------------------------+    |         |
|    +-----------------------------------+    +-----------------------------------+         |
|                                                                                           |
+-------------------------------------------------------------------------------------------+

Kubernetes Deployment Types:
---------------------------
1. Full Deployment:    Viewer is Angular app container (pre-built image)
2. Simple Deployment:  Viewer uses ConfigMaps for HTML/JS/CSS (mounted files)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment