Setup Guide#

Tokkio Workflow on a Baremetal instance can be brought up in different ways, this document covers setting up Tokkio Pipeline on a Single BareMetal machine with necessary GPU Hardware using Tokkio Deployment scripts. Below diagram represents the layout of Components for Tokkio installation on BareMetal server.

Baremetal Installation

Prerequisites#

System#

Controller Instance#

  • Ubuntu 22.04 Operating system.

  • SSH key pair

  • Password less sudo access.

Application Instance#

  • Ubuntu 22.04 Operating system.

  • Passwordless authentication from the controller instance.

  • Passwordless sudo access.

  • Kubernetes is not already installed.

  • Storage minimum 300GB space on /opt folder and 400GB on /var/lib/containerd

  • Necessary GPU devices as per Reference workflows

Access#

Access to all the artifacts used during the bringing up of Tokkio Pipeline Application. For e.g. Tokkio Application Helm chart on NGC.

Installation Steps#

  1. Clone the NVIDIA/ACE.git repository and navigate to the BareMetal deployment scripts

git clone https://github.com/NVIDIA/ACE.git
cd ACE/workflows/tokkio/4.1/scripts/one-click/baremetal
  1. Prepare a config file, either by copying base config-template.yml or by copying one of the example config files available under config-template-examples folder.

cp config-template-examples/llm-ov-3d-coturn-1x-stream/config-template.yml ./my-config.yml
  1. Modify the my-config.yml with your specific settings

vi my-config.yml
  1. Set up environment variables.

  • Create a file my-env-file.env or copy from config-template-examples folder

  • Modify environment variables file with your specific settings

  • Source the environment variables file

cp config-template-examples/llm-ov-3d-coturn-1x-stream/my-config.env my-env-file.env
vi my-env-file.env
  1. Source the environment variables file

source my-env-file.env
  1. Run the installation command

./envbuild.sh install --component all --config-file ./my-config.yml
  1. Verify installation

  • Check pod status: kubectl get pods -n <application-namespace>

  • Wait for all pods to reach Ready status (may take up to 60 minutes)

  1. Access the UI

  • On the machine where you want to access the UI, open Chrome browser and navigate to chrome://flags/#unsafely-treat-insecure-origin-as-secure.

  • Select Enable

  • Set or add the following chrome flags under it, replace with actual IP address value. http://<your-app-instance-ip>:80, http://<your-app-instance-ip>:30888, ws://<your-app-instance-ip>:30888

  • Follow the Chrome instructions to Relaunch browser and complete this step.

  • Access Tokkio pipeline UI at http://<your-app-instance-ip>:80

  • Accept browser permissions for mic, speaker, and camera

  • Avatar should show up based on the UI settings configured

Baremetal Installation

Note

Follow equivalent steps if you are using any other browser.

Uninstallation Steps#

Uninstalling Just The Application#

  • Source the correct environment variables file

source my-env-file.env
  • Run the below commands to uninstall just the application components

./envbuild.sh uninstall --component app --config-file ./my-config.yml
  • Clear any persistent-volumes from previous installation by below command:

kubectl delete pv -n <application-namespace>

Uninstalling The Whole Setup#

  • Source the correct environment variables file

source my-env-file.env
  • Run the below un-install command

./envbuild.sh uninstall --component all --config-file ./my-config.yml

Caution

This step uninstalls the entire Kubernetes cluster, so use this with caution.

Additional Considerations#

Security#

The security of Tokkio in production environments is the responsibility of the end users deploying it. When deploying in a production environment, have the security experts review any potential risks and threats; define the trust boundaries, secure the communication channels, integrate AuthN & AuthZ with appropriate access controls, keep the deployment including the containers up to date, and ensure the containers are secure and free of vulnerabilities.

Essential Skills And Background#

While the instructions here can help you get Tokkio workflow up and running, there are certain skills and background knowledge that would make your deployment successful and can also be debugged easily in case any issues arise. We mentioned some of these below.

Command-Line-Interface (CLI)#

  • Basic Commands: Users should be comfortable with basic command-line operations, such as navigating directories, executing scripts, and managing files.

  • Environment Configuration: Understanding how the environment variables and how PATH setup works on Linux will greatly help operating OneClick script.

  • Scripting Basics: Basic scripting knowledge (e.g., shell scripting) is beneficial for understanding how the OneClick script operates and for troubleshooting any issues that may arise.

Yaml#

YAML Syntax and Structure: YAML is often used for configuration files in cloud-native applications due to its readability and flexibility. The Configuration templates used in OneClick script uses YAML format. Users should be familiar with YAML syntax and structure.

Kubernetes Eco System#

Tokkio UI Application is a Cloud native application, and uses concepts like Containerization, Kubernetes, helm etc., You’ll need to be familiar with these to get the best results from using deployment scripts and the app.

  • Kubernetes Basics: Basic understanding of Kubernetes core concepts such as pods, services and deployments.

  • kubectl: Familiarity with the command line tool used to interact with Kubernetes clusters including querying the status or logs of Running application pods etc.

  • Helm: Understanding Helm package manager for Kubernetes that simplifies application deployment by managing charts (collections of pre-configured Kubernetes resource definitions). And how to use helm with override values will help configuring the templates appropriately.