1. Deployment Topology
Where will you run the Metoro Hub?
Option A: Same cluster as monitored workloads
Option A: Same cluster as monitored workloads
Best for
- Proof of concepts
- Development environments
- Small production deployments
- Cost-conscious deployments
- Simpler setup
- Lower infrastructure costs
- Easier network configuration
- If there is a cluster failure, its possible you will not be able to reach Metoro to debug the issue
- Metoro competes for resources with your applications
- Potential security concerns (observability data in same cluster)
- Harder to monitor multiple clusters, requires cross-cluster connectivity
Option B: Dedicated cluster for Metoro
Option B: Dedicated cluster for Metoro
Best for
- Production environments
- Multi-cluster monitoring
- High-security environments
- Large-scale deployments
- Isolated from application workloads
- Can monitor multiple clusters
- Better security posture
- Dedicated resources for observability
- Additional infrastructure costs
- More complex networking setup
- Requires cross-cluster connectivity
Architecture ramifications
Depending on your choice, the architecture will look different. Below are the two main options:Option A: Same Cluster Architecture
Option B: Dedicated Cluster Architecture
2. PostgreSQL Database
How will you manage the metadata database?
Option A: In-cluster PostgreSQL
Option A: In-cluster PostgreSQL
Best forRequired resources:
- Quick deployments
- Development environments
- When external database is not available
- No external dependencies
- Simplified installation
- Included as a dependency in helm chart
- Manual backup management
- Limited high availability options
- Requires persistent storage configuration
- Manual upgrade process, tuning and maintenance
values.yaml
file like this:- 2 CPU cores
- 4GB RAM
- 20GB+ persistent storage
Option B: External managed PostgreSQL
Option B: External managed PostgreSQL
Best for:Then configure in Required databases:
- Production environments
- High availability requirements
- Existing database infrastructure
- Built in backup/restore
- Built-in high availability
- Better performance tuning
- Reduced operational overhead
- Additional service costs
- Potentially not available
values.yaml
:metoro
- Main application databasetemporal
- Workflow engine databasetemporal_visibility
- Workflow visibility database
3. ClickHouse Database
How will you manage the telemetry database?
Option A: In-cluster ClickHouse
Option A: In-cluster ClickHouse
Best for:Then configure in Required resources:
- Self-contained deployments
- When external ClickHouse is not available
- Full control over configuration
- No external dependencies
- Full configuration control
- Included in helm chart
- Less costly than managed services
- Complex to manage at scale (PBs of data)
- Manual performance tuning at scale
- Backup complexity
- Storage management overhead
values.yaml
:- 4+ CPU cores
- 16GB+ RAM
- 100GB+ fast SSD storage (scales with retention)
Option B: External managed ClickHouse
Option B: External managed ClickHouse
Best for:Then configure in Recommended providers:
- Production environments
- Large-scale deployments
- When performance is critical
- Professional management
- Automatic scaling options
- Optimized performance
- Built-in backup/restore
- Additional service costs
- Vendor lock-in considerations
- Network bandwidth costs
values.yaml
:- ClickHouse Cloud
- Altinity.Cloud
- Self-managed ClickHouse cluster
Pre-Installation Tasks
Based on your decisions above, complete these tasks before installation:If using dedicated cluster:
- Provision management cluster
- Configure network connectivity between clusters
- Ensure there is an ingress controller
If using external PostgreSQL:
- Provision PostgreSQL instance (v12+)
- Create a user with full permissions
- Configure network security groups/firewall rules so the PostgreSQL instance is accessible from the Kubernetes cluster
- Create Kubernetes secret with database credentials (see configuration examples)
If using in-cluster PostgreSQL:
- Ensure persistent storage class is available
If using external ClickHouse:
- Provision ClickHouse instance/cluster (v25.4+)
- Provision a ClickHouse user with full permissions
- Configure network access from the Kubernetes cluster
- Create Kubernetes secret with database credentials (see configuration examples)
If using in-cluster ClickHouse
- Ensure persistent storage class is available
General preparation:
- Install Helm 3.x
- Obtain Metoro helm charts and image pull secrets from your Metoro representative
Next Steps
Once you’ve made these decisions and completed the preparation tasks:- Proceed to the configuration guide to create your
values.yaml
file - Follow the installation guide to deploy Metoro Hub on your Kubernetes cluster
Take time to make these decisions carefully. Changing deployment topology or database backends after installation requires significant migration effort.