Skip to main content
Version: 1.63

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​