Warning

Nightly releases are generated automatically from the latest source code and are intended for experimental purposes only. These builds may contain incomplete or untested features, bugs, or security vulnerabilities, and as such, are not for production use. Users should be aware that nightly releases may cause unexpected behavior, data loss, or system instability. Use of these releases is at the user's own risk, and it is advised to have adequate backups before testing. The software is provided as is with no guarantees or support.

instant3Dhub requirements

Read First

This section contains a general overview of the resource requirements for running instant3Dhub. These specifications are based on our experience and measurements in production scenarios. Depending on your scenario, these values may need to be adjusted. As it is difficult to give a one-fits-all recommendation, we do not enforce any limits or requests in kubernetes as of yet. Storage requirements are given as a minimum.

Provisioning

The following resources have to be provisioned to enable the cluster to run instant3Dhub:

  • Helm & k8s

  • Image Registry

  • Storage

  • Compute

  • Database (optional)

Kubernetes Requirements

  • Kubernetes: v1.21 (or later)

  • kubectl: v1.21 (or later)

  • helm (CLI): v3.4.0 (or later)

Node Requirements

In order to run instant3Dhub, the following Kubernetes node specifications are recommended:

Warning

Node specifications depend heavily on system load and the size and type of data being processed. Large, monolithic CAD structures naturally require more compute than smaller, linked structures.

Node Spec

CPUs

Memory

Node Count

Minimum

4

16GB

1

Recommended

16

64GB

3

PostgreSQL Requirements

  • PostgreSQL: v13 (or later)

License

To run instant3Dhub, a license key is required. The license key is used to automatically report billable usage metrics to Threedy. If you do not have a license key, please request one at sales@threedy.io.

For air-gapped environments, we recommend an on-premise license server. See Air-Gapped License Server for more information.

Image Registry

We encourage transferring all containers into a local self-managed image repository. To load the images into the registry you can use tools such as skopeo or docker. The references contain an example script to fill the local image registry.

The images of instant3Dhub are provided on a public registry: instant3Dhub-images.

Warning

It is highly discouraged to use our public registry for production deployments! We do not guarantee high availability of our registry, nor do we guarantee image availability once a version has reached EOL.

If you can not use an image registry, the nodes of the cluster can also be provisioned proactively. For more information see: Pre-pulled images.

Storage

instant3Dhub requires a set of volumes for persistence and data exchange between services in the system. Kubernetes volumes need to be configured in your backend. Our helm charts come with PersistentVolumeClaims which need to be satisfied for basic functionality. Examples for PersistentVolume definitions can be found here. These need to be adjusted for your deployment.

The following non ephemeral volumes are defined and required to run instant3Dhub:

Name

Size

accessMode

Description

cache_volume

20GB

ReadWriteMany*

Stores the caches. Size can be configured. (grows depending on used data)

postgres_volume

5GB

ReadWriteOnce

Stores cache metadata and indices. Is 25% of the cache size.

entrygw_volume

2GB

ReadWriteMany*

Code-on-demand distribution. Fixed size.

rabbitmq_volume

1GB

ReadWriteOnce

Event / Transaction data. Fixed size.

upload_volume

5GB

ReadWriteMany*

Stores uploaded files.

prometheus_volume

5GB

ReadWriteOnce

Stores prometheus metrics.

jaeger_volume

5GB

ReadWriteOnce

Stores OpenTelemetry traces.

Note

If instant3Dhub is deployed on a cluster with multiple nodes some of the services require the access mode ReadWriteMany (marked with *) which means that the chosen storage provider must support this. See the official Kubernetes documentation.

Compute

The containers have requests and limits defined in the Helm Chart. In the current version, they are disabled by default and can be enabled by setting resourceLimits.ignore: false.

Database

For all database purposes instant3Dhub relies on the use of PostgreSQL. instant3Dhub deploys a PostgresSQL instance as part of the default configuration. The use of external databases is explained here.

Graphics Processing Unit

With GPUs on the service components we can computationally support clients and allow model tracking services. Currently we only support NVIDIA GPUs.

To enable GPU support for kubernetes, we recommend using the NVIDIA GPU Operator. Following the NVIDIA guide will allow an easy installation of a variety of GPUs. Please check if the GPU of your choice is in the supported GPUs list. In our experience, reasonably recent consumer GPUs will also work even if not listed.