Generic
This page provides an overview of the architecture, requirements and steps to install the TrueFoundry compute plane cluster in your generic cluster
Requirements:
The requirements to setup compute plane in existing cluster is as follows:
- K8s version 1.28 or higher with ability to run 250 nodes and 4096 pods with GPU and CPU depending on your use case.
- Egress access to container registries -
public.ecr.aws
,quay.io
,ghcr.io
,tfy.jfrog.io
,docker.io/natsio
,nvcr.io
,registry.k8s.io
so that we can download the docker images for argocd, nats, gpu operator, argo rollouts, argo workflows, istio, keda, etc. - We need a domain to map to the service endpoints and certificate to encrypt the traffic. A wildcard domain like *.services.example.com is preferred. TrueFoundry can do path based routing like
services.example.com/tfy/*
, however, many frontend applications do not support this. For certificate, check this document for more details. - Support for block storage for disk volumes and NFS storage for artifact storage.
- A bucket and container registry will be required for the cluster.
- An IP pool is required for the load balancer to get an IP address. Check metallb for more details.
Setting up compute plane
TrueFoundry compute plane infrastructure, for generic cluster, is provisioned using helm. You can download the helm commands and execute them on your cluster.
Choose an existing cluster
Go to the platform section in the left panel and click on Clusters
. You can click on Attach Existing Cluster
. Read the requirements and if everything is satisfied, click on Continue
.
Fill up the form to generate the helm commands
A form will be presented with the details for the new cluster to be created. Fill in with your cluster details. Click Submit
when done
The key fields to fill up here are:
Cluster Name
- Your cluster name.Cluster Addons
- TrueFoundry needs to install addons like ArgoCD, ArgoWorkflows, Keda, Istio, etc. Please disable the addons that are already installed on your cluster so that truefoundry installation does not overrride the existing configuration and affect your existing workloads.
The key fields to fill up here are:
Cluster Name
- Your cluster name.Cluster Addons
- TrueFoundry needs to install addons like ArgoCD, ArgoWorkflows, Keda, Istio, etc. Please disable the addons that are already installed on your cluster so that truefoundry installation does not overrride the existing configuration and affect your existing workloads.
Copy the helm command and execute it on your cluster
You will be presented with helm
commands to install the TrueFoundry compute plane.
Verify the cluster is showing as connected in the platform
Once the helm commands are executed, the cluster will be shown as connected in the platform.
Create DNS Record
We can get the load-balancer’s IP address by going to the platform section in the bottom left panel under the Clusters section. Under the preferred cluster, you’ll see the load balancer IP address under the Base Domain URL
section.
Create a DNS record in your DNS provider with the following details
Record Type | Record Name | Record value |
---|---|---|
CNAME | *.tfy.example.com | LOADBALANCER_IP_ADDRESS |
Setup routing and TLS for deploying workloads to your cluster
Follow the instructions here to setup DNS and TLS for deploying workloads to your cluster.
Start deploying workloads to your cluster
You can start by going here
Setting up TLS in Generic Cluster
There are two ways primarily through we can add TLS to the load balancer in Generic Cluster
- Using cert-manager with Let’s Encrypt (recommended) - If you have a DNS provider use that with cert-manager otherwise you can use the given HTTP01 challenge.
- Using Certificate and key files - Through this pre-created certs are added to istio