Skip to content

Production deploy

Angel edited this page Oct 6, 2023 · 13 revisions

Morpheus is a platform that uses Kubernetes to be deployed in production. It has different advantages including the portability among infrastructure and cloud providers.

The method to deploy the different components is Helm. This tool enables to deployment of different types of resources in the Kubernetes cluster and to use of parameters to configure the different settings.

Below we are going to explain better the different helm charts to deploy Morpheus in a production environment.

Morpheus worker

The helm chart for this component is located here.

You can deploy this component using this command:

helm upgrade --timeout 15m0s --install --atomic morpheus-worker-ray ./morpheus-worker/helm/charts/morpheus-worker-ray/ \
            --set image.tag=latest

Values

These are the default values, but they can be modified depending on the requirements.

image:
  repository: monadicalsas/morpheus-worker
  pullPolicy: Always
  tag: "latest"
worker:
  headNodeSelector: "worker-head"
  nodeSelector: "gpu-adv"
  rayVersion: 2.7.0
  # The head node configuration will depend on the type of machine. In this case,
  # it was tested in a t3.xlarge ec2.
  head:
    rayStartParams:
      numCpus: "3"
      numGpus: "0"
    resources:
      limits:
        cpu: "3"
        memory: "13G"
  # The worker nodes configuration will depend on the type of machine.
  # In this case, it was tested in a g5.2xlarge ec2.
  workerGroup:
    replicas: 2
    minReplicas: 6
    maxReplicas: 14
    rayStartParams:
      numCpus: "3"
      numGpus: "1"
    resources:
      limits:
        cpu: "7"
        # memory: "15G"
        gpu: 1
imagePullSecrets:
  - name: regcred

Morpheus server

The helm chart for this component is located here.

You can deploy this component using this command:

helm upgrade --timeout 15m0s --install --atomic morpheus ./morpheus-server/helm/charts/morpheus/ \
            --set image.tag=latest --set domain=https://morpheus.monadical.io

Values

These are the default values, but they can be modified depending on the requirements.

image:
  repository: monadicalsas/morpheus-api
  pullPolicy: Always
  # Overrides the image tag whose default is the chart appVersion.
  tag: "latest"
service:
  type: ClusterIP
  port: 80
workerMonitorService:
  type: ClusterIP
  port: 80
container:
  port: 8001
domain: https://morpheus.monadical.io
imagePullSecrets:
  - name: regcred

Morpheus client

The helm chart for this component is located here.

You can deploy this component using this command:

helm upgrade --timeout 15m0s --install --atomic morpheus-client ./morpheus-client/helm/charts/morpheus-client/ \
            --set image.tag=latest

Values

These are the default values, but they can be modified depending on the requirements.

client:
  service:
    type: ClusterIP
    port: 3000
  container:
    port: 3000
  replicas: 1
image:
  repository: monadicalsas/morpheus-client
  pullPolicy: Always
  # Overrides the image tag whose default is the chart appVersion.
  tag: "latest"
imagePullSecrets:
  - name: regcred

Morpheus collaborative

The helm chart for this component is located here.

You can deploy this component using this command:

helm upgrade --timeout 15m0s --install --atomic morpheus-collaborative ./morpheus-collaborative/helm/charts/morpheus-collaborative/ \
            --set image.tag=latest --set domain=https://morpheus.monadical.io

Values

These are the default values, but they can be modified depending on the requirements.

collaborative:
  service:
    type: ClusterIP
    port: 80
  container:
    port: 80
  replicas: 1
image:
  repository: monadicalsas/morpheus-collaborative
  pullPolicy: Always
  # Overrides the image tag whose default is the chart appVersion.
  tag: "latest"
imagePullSecrets:
  - name: regcred
Clone this wiki locally