Deploy taranta suite with multiple DB¶
Overview¶
In this use case, we demonstrate the capability of the TangoGQL application to interface with multiple TangoDB instances across various Kubernetes namespaces. This feature enables a scalable deployment model that supports different database instances, allowing for isolated or shared database access across services.
User Story¶
As a developer, I want to deploy multiple instances of TangoGQL in a single Kubernetes namespace, where each instance connects to a distinct TangoDB in different namespaces. This setup should allow each instance to uniquely address and manage its designated TangoDB without interference, facilitating modular and scalable application development.
Scenario: Multiple TangoGQL Instances with Separate Databases¶
Context¶
k8s-namespace-1:
Hosts three instances of TangoGQL (
TangoGQL1
,TangoGQL2
,TangoGQL3
).Each instance connects to a different TangoDB instance.
Taranta Web application is deployed to interact with all three TangoGQL instances.
k8s-namespace-2:
Hosts
Tango-DB2
, which is connected byTangoGQL2
deployed ink8s-namespace-1
.
k8s-namespace-3:
Hosts
Tango-DB3
, which is connected byTangoGQL3
deployed ink8s-namespace-1
.
Requirements¶
Each TangoGQL instance must have its unique Helm release name when deployed in the same namespace.
The
tango_host
configuration for each TangoGQL must correctly point to the respective TangoDB service endpoint.
Deployment Details¶
Deploy TangoGQL1 -
tangoDB
: taranta1 -tango_host
: databaseds-tango-base:10000 (connecting to Tango-DB1 ink8s-namespace-1
)Deploy TangoGQL2 -
tangoDB
: taranta2 -tango_host
: databaseds-tango-base.k8s-namespace-2.svc.cluster.local:10000 (connecting to Tango-DB2 ink8s-namespace-2
)Deploy TangoGQL3 -
tangoDB
: taranta3 -tango_host
: databaseds-tango-base.k8s-namespace-3.svc.cluster.local:10000 (connecting to Tango-DB3 ink8s-namespace-3
)
Usage¶
Taranta Web in
k8s-namespace-1
provides a user interface to select and interact (on widget inspector panel) with all three TangoGQL instances, offering a comprehensive view and control over multiple databases.
Conclusion¶
This deployment scenario exemplifies the flexibility and scalability of using TangoGQL with the multiDB feature in a Kubernetes environment, facilitating robust development practices and efficient resource utilization across multiple services.