Skip to main content
Version: Cloud

Resources

Deeploy expects the following components:

  • Kubernetes: Kubernetes runs the deeploy software and AI/ML deployments
  • PostgreSQL PostgreSQL database to store application and AI/ML deployment data
  • Object storage: Object storage to store repository and model files and artifacts
  • Key management: Key management and encryption to story sensitive data encrypted in the database

For production workloads, we advise to manage the cloud resources in code.

Kubernetes

To set up Kubernetes for your Deeploy installation, check this guide. Keep in mind the following specific considerations:

  • For normal usage, Deeploy requires approximately 3 medium nodes; minimal requirements: 3 (v)CPU and 6 GB RAM. In total the server should have 9 CPU cores and 18 GB of RAM.
  • There are lots of options to run Kubernetes on bare metal, software like Microk8s makes it much easier to setup Kubernetes from scratch.
  • In most managed kubernetes services this is arranged by default, but make sure to use a CSI diver for your bare metal installation.
  • The same accounts for loadbalancing, software like MetalLB makes setting up load balancing for you bare metal Kubernetes cluster much easier.
  • Deeploy supports usage of NVIDIA GPUs, read more about it here

PostgreSQL database

To set up PostgreSQL for your Deeploy installation, check out the documentation. Take into account the following considerations:

  • There are lots of options to run PostgreSQL on bare metal, it is for example possible to run PostgreSQL on your Kubernetes cluster with for example this helm chart
  • We advise to use dedicated and persistent storage for you PostgreSQL data storage. Check for example OpenEBS to simplify this
  • Implement best practices for backing up and restoring data.
  • Create a separate user with admin rights only on the required databases (deeploy and deeploy-kratos). Save the user credentials to use in the Helm values.yaml file that you use in the Deeploy Helm installation.

Database configuration

Make sure that the Postgres database server has the following two databases:

  1. deeploy
  2. deeploy_kratos
info
  • A single user should have administrative rights on both databases.
  • The databases should have at least one (public) database schema.

Object storage

To set up Object storage for your Deeploy installation, Deeploy support the usage of Minio. Take into account the following considerations:

  • We advise to use dedicated and persistent storage for you Minio data. Check for example OpenEBS to simplify this
  • Implement best practices for backing up and restoring data.
  • Configure the following minimal bucket policy using this guide:
{   
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads",
"s3:ListBucketVersions",
],
"Resource": [
"arn:aws:s3:::<YOUR-BUCKET-NAME>"
]
},
{
"Effect": "Allow",
"Action": [
"s3:*Object*",
"s3:ListMultipartUploadParts",
"s3:AbortMultipartUpload",
],
"Resource": [
"arn:aws:s3:::<YOUR-BUCKET-NAME>/*"
]
}
]
}

Key Management System

We do not support any self hosted service to encrypt data with keys, to set up a key management, use one of the other supported cloud providers to set up this service.

Next steps