HomeGuidesRecipesAPI EndpointsRelease NotesCommunity
Log In
Guides

Ubuntu 22 Helm Chart

In this guide we will go from a basic Ubuntu 22 install to a fully functioning Kubernetes cluster running Layar. This guide is intended as an example installation only and makes configuration decisions that may not be best suited for your environment.

Prerequisites

Hardware

  • 256 GB RAM
  • 32 CPUs
  • 1TB SSD disk mounted to /data
  • 4x A10 Series GPU (consult with Certara on proper GPU sizing for your use case)

Additional Requirements

  • The system must have an external DNS entry (not relying on /etc/hosts) with the corresponding IP assigned to the host
  • Internet access from the installation system is a requirement.
  • Swap must be disabled.
  • SELinux must be disabled or set to Permissive.

LLM Considerations

Certara AI allows you to utilize various LLMs for your GPT needs. The models available are determined by the version of Layar you are planning to install. Please review the available models and the minimum GPU requirements needs to run those models

Installation

Commands should be run as root or prefixed with sudo.

Ensure you have current Docker installed

dpkg -l docker-ce
docker version

The installed docker should be from the official Docker repository, not from the Ubuntu repositories. If the first command above fails but the second works then you are running the Ubuntu-provided version which is incorrect. In that case, please follow the instructions for installing docker on Ubuntu here before proceeding. Both Client and Server output should show version 24.0.5 or later.

Increase operating system vm.max_map_count

echo "vm.max_map_count=262144" > /etc/sysctl.d/99-vyasa.conf 

sysctl -p /etc/sysctl.d/99-vyasa.conf

Configure NetworkManager to ignore Calico interfaces

If using NetworkManager, edit the file /etc/NetworkManager/conf.d/calico.conf and set the following:

[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico;interface-name:wireguard.cali

Restart NetworkManager

systemctl restart NetworkManager

Install CUDA 12

Install CUDA per the instructions at NVIDIA. Ensure DKMS is also installed. Version 12.0 or later is required.
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

Install NVIDIA Docker toolkit

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \   
    && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \   
    && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
apt update

apt-get install -y nvidia-docker2

Set docker default runtime

Edit the file /etc/docker/daemon.json and replace its contents with:

{
"default-runtime": "nvidia",
 "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

Restart Docker

systemctl restart docker

Install Kubernetes

echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /' |  tee /etc/apt/sources.list.d/kubernetes.list \
             && chmod 644 /etc/apt/sources.list.d/kubernetes.list
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | gpg --no-tty --batch --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
apt update 
apt install -y kubeadm kubectl kubelet

Install Layar deployment script

mkdir -p /data/layar
wget -P /data/layar http://vyasa-static-assets.s3.amazonaws.com/layar/deployLayar.sh
chmod + /data/layar/deployLayar.sh

Create Layar configuration file

Edit /data/layar/layar.config and populate with appropriate configuration.

Install Helm

wget -P /usr/local/bin/ https://vyasa-static-assets.s3.amazonaws.com/helm/helm
chmod +x /usr/local/bin/helm

Add the Layar helm repository

helm repo add vyasa https://helm.vyasa.com/charts/ --username 
vyasahelm --password "sail#away()"

helm repo update

Install Layar

Run /data/layar/deployLayar.sh to run Layar installation.