Kubernetes
This guide will walk you through the process of getting your Kubernetes cluster ready to be used on Komodo.
Supported Kubernetes deployments
- Managed Kubernetes services (Amazon - EKS, Google Cloud - GKE)
- On-prem clusters (Kubeadm, Rancher, RKE, K3s)
If you need help with anything below, please let us know on Discord! 😊
Prerequisites
- A Kubernetes cluster with a publicly-accessible control plane endpoint
- Each cluster node assigned a public (external) IP
- Each cluster node labeled with the GPU type.
If your cluster has the NVIDIA GPU Operator installed or you are using GKE or Karpenter, your nodes already have the necessary GPU labels. No further action is required.
Currently supported GPU labels:
nvidia.com/gpu.product
: automatically created by the Nvidia GPU operatorcloud.google.com/gke-accelerator
: used by GKE clusterskarpenter.k8s.aws/instance-gpu-name
: used by Karpenter
To check if your cluster is compatible, run:
Instructions for setting up NVIDIA GPU Operator on your cluster can be found here
Step 1: Create the Komodo Service Account
To create a service account that Komodo will use to launch your workloads on Kubernetes run:
This will create resources in the default
namespace. If you’d like to run your workloads in another namespace,
download the YAML file above and change the namespace on every line with the comment Change to your namespace if using a different one
Copy this YAML to a file called service-account.yaml
and then run:
Step 2: Get the values to connect cluster to Komodo
Run the below script to get the cluster control plane endpoint, Komodo service account token, and optionally, the cluster certificate authority data.
If no cluster certificate authority data was found, ask your IT administrator to obtain this data.
This is optional but highly recommended so that Komodo can verify your control plane’s TLS certificate.
Step 3: Connect your Kubernetes cluster to Komodo
Now that you have your control plane endpoint, service account token, and (optionally) your certificate authority data you’re ready to connect it to Komodo.
In the Komodo console, navigate to the Settings page, click Connect
in the Kubernetes section and paste the values from Step 2 into the respective fields.
And that’s it! You can now launch your workflows on Komodo! Follow this tutorial to get started.
FAQ
What is a Service Account in Kubernetes?
What is a Service Account in Kubernetes?
A Service Account in Kubernetes is an identity used by processes running within the cluster. It provides a way for pods to communicate securely with the Kubernetes API. Service accounts are used to manage permissions and control what actions can be performed by the processes within the cluster. In this guide, the Komodo service account is created to allow Komodo AI to interact with your Kubernetes cluster and launch workloads on your behalf.
Why Use Cluster Certificate Authority Data?
Why Use Cluster Certificate Authority Data?
What Are the Supported GPU Labels and Why Are They Important?
What Are the Supported GPU Labels and Why Are They Important?
Supported GPU labels are specific labels applied to your Kubernetes nodes to identify the type of GPU available. These labels are essential for Komodo AI to recognize and utilize the appropriate GPU resources for your workloads.
By ensuring your nodes have the correct GPU labels, you enable Komodo AI to effectively allocate GPU resources for your AI and machine learning tasks, optimizing performance and efficiency.