Connect Kubernetes Cluster in your cloud account to TrueFoundry Control Plane
TrueFoundry provides an easy way to attach a new compute plane to the control plane. It provides the Terraform code using which you can bring up all the necessary components of the compute plane in your cloud account. The key components of the compute plane are:
ArgoCD (Essential)
TrueFoundry relies on ArgoCD to deploy applications to the compute-plane cluster. The infra applications are deployed in the default project in argocd while the user deployed applications are deployed in tfy-apps project. If you are using your own ArgoCD, please create a tfy-apps project with the following spec.
Istio (Essential)
Istio is a really powerful service mesh and ingress controller. TrueFoundry uses Istio as the primary ingress controller in the compute-plane cluster. We don’t inject the sidecar by default - its only injected in cases where needed for the following usecases:
ArgoRollouts (Essential)
Argo Rollouts is used to power the canary and blue-green rollout strategies in TrueFoundry.
Prometheus (Essential)
Prometheus is used to power the metrics feature on the platform. It also powers the autoscaling feature on the cluster.
ArgoWorkflows (Optional)
TrueFoundry uses Argo Workflows to power the Jobs feature on the platform.
Keda (Optional)
Keda is used to power the autoscaling feature on the platform.
Loki (Optional)
GPU Operator (Optional)
GPU Operator is used to deploy workloads on the GPU nodes. It’s a TrueFoundry provided helm chart that’s based on Nvidia’s GPU operator.
Grafana (Optional)
Grafana is a monitoring tool that can be installed to view the metrics, logs and create dashboards on the cluster. You can install the TrueFoundry grafana helm chart that comes with a lot of inbuilt dashboards for cluster monitoring.
[AWS Only] Metrics-Server (Essential)
Metrics-Server is required on AWS EKS cluster for autoscaling.
[AWS Only] AWS EBS CSI Driver (Essential)
AWS Ebs CSI Driver is required for supporting EBS volumes on EKS cluster.
[AWS Only] AWS EFS CSI Driver (Essential)
AWS Efs CSI Driver is required for supporting EFS volumes for EKS cluster.
[AWS Only] AWS Load Balancer Controller Essential)
AWS Load Balancer Controller is required for supporting load balancer on EKS.
[AWS Only] TFY Inferentia Operator (Optional)
TFY Inferentia Operator is required for supporting Inferentia machines on EKS.
Cert-Manager (Optional)
Cert-Manager is required for provisioning certificates for exposing services. In AWS you can use the AWS Certificate Manager to provision the certificates. For more details on how to setup the certificates, please refer to the TrueFoundry documentation.
*.example.com
(wildcard domain) to the load balancer, the services will be exposed like service1.example.com
, service2.example.com
etc. However, if you point a domain like tfy.example.com
(non-wildcard domain) to the load balancer, the services will be exposed like tfy.example.com/service1
, tfy.example.com/service2
etc. Many frontend applications do not work with path based routing (the latter case) and hence we recommend using wildcard domains. We also need to provision certificates to terminate the TLS traffic on the load balancer. For this we can use the AWS Certificate Manager or cert-manager with GCP Cloud DNS or Azure DNS. You can also bring your pre-created certificates.