On a Kubernetes Cluster

Node requirements

Deepomatic can run using the following minimum requirements:

  • A processor supporting the x86-64 instruction set.

  • 4GB of free RAM.

  • 10GB of storage.

The recommended requirements are however:

  • A quad core processor supporting the x86-64 instruction set.

  • 8GB of free RAM.

  • 40GB of storage.

Deep learning models require lot of computation and it is recommended to use a specific hardware accelerator to make computation tractable. See below for a list of supported accelerators:

  • NVIDIA GPU accelerators, of the family Tesla, Quadro, RTX or GTX, with CUDA compute capability 3.0 or more.

Kubernetes requirements

Minimal Version

Kubernetes version >= 1.10

Additionally, you will need to install additional software depending on the deep learning you may have chosen.

NVIDIA GPU

You need to install NVIDIA drivers 410.48+ and NVIDIA Docker.

You need to install NVIDIA Device Plugin.

Set up files

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: deepomatic-run
labels:
app: deepomatic-run
spec:
serviceName: deepomatic-run
replicas: 1
selector:
matchLabels:
app: deepomatic-run
volumeClaimTemplates:
- metadata:
name: deepomatic-resources
spec:
storageClassName: silver
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 100Gi
template:
metadata:
labels:
app: deepomatic-run
spec:
restartPolicy: Always
containers:
- name: neural-worker
image: deepomatic/run-neural-worker:0.5.0-native
imagePullPolicy: Always
env:
- name: GPU_IDS
value: "0"
- name: AUTOSTART_WORKER
value: "false"
- name: AMQP_URL
value: amqp://user:password@localhost:5672/deepomatic
- name: DEEPOMATIC_STORAGE_DIR
value: /var/lib/deepomatic/services/worker-nn
- name: WORKFLOWS_PATH
value: /var/lib/deepomatic/services/worker-nn/resources/workflows.json
volumeMounts:
- name: deepomatic-resources
mountPath: /var/lib/deepomatic
- name: resource-server
image: deepomatic/run-resource-server:0.5.0
imagePullPolicy: Always
env:
- name: DEEPOMATIC_API_URL
value: https://api.deepomatic.com
- name: DEEPOMATIC_API_KEY
value: "${DEEPOMATIC_API_KEY}" # Put your DEEPOMATIC_API_KEY here
- name: DEEPOMATIC_SITE_ID
value: "${DEEPOMATIC_SITE_ID}" # Put your DEEPOMATIC_SITE_ID here
- name: DOWNLOAD_ON_STARTUP
value: "1"
- name: INIT_SYSTEM
value: circus
volumeMounts:
- name: deepomatic-resources
mountPath: /var/lib/deepomatic
- name: rabbitmq
image: rabbitmq:3.7
imagePullPolicy: Always
env:
- name: RABBITMQ_DEFAULT_USER
value: user
- name: RABBITMQ_DEFAULT_PASS
value: password
- name: RABBITMQ_DEFAULT_VHOST
value: deepomatic