Connect existing GKE cluster

Truefoundry can help connect an existing AWS cluster to the control-plane. To do this, you can install the tfy-k8s-gcp-gke-standard-inframold helm chart to the cluster to install all the components.

This chart will install all the components needed for Truefoundry compute-plane. You can find the default values of this chart here.

🚧

Please make sure to provide all the required parts in the values file before installing the helm chart. Also make sure that you are not overriding any already installed components in the cluster.

If some component like argocd is already installed on the cluster, you can make the value as false in the values file and then apply the helm chart. We will recommend you to download the values file from the Github repository, modify the values as required and then apply the helm chart using the command below.

Add the compute plane

  1. Add the cluster as the compute-plane from the UI and get the cluster token

  1. Copy the token, tenantName and the controlPlaneURL

Installing TrueFoundry

Pre-requisites

  1. Installing helm
  2. Add the following chart repository
    helm repo add argocd https://argoproj.github.io/argo-helm
    helm repo add truefoundry https://truefoundry.github.io/infra-charts/
    
  3. Updating helm repo to download the latest local repository index
    helm repo update argocd truefoundry
    

Installing truefoundry helm chart

  1. Installing argocd helm chart
    helm upgrade --install argocd argocd/argo-cd -n argocd \
    --create-namespace \
    --version 7.4.4 \
    --set applicationSet.enabled=false \
    --set notifications.enabled=false \
    --set dex.enabled=false
    
  2. Create values.yaml for the truefoundry helm chart. You can refer to the values for more details.
  3. Fill the following values
    1. tenantName - name of the tenant. If you haven't created one. please do it here
    2. controlPlaneURL - URL at which to host the platform (for e.g. https://truefoundry.example.com)
    3. clusterName - name of the cluster
    4. tfyAgent.token - token of the cluster
  4. Run the following command to install the chart
    helm upgrade --install tfy-k8s-gcp-gke-standard-inframold \
    truefoundry/tfy-k8s-gcp-gke-standard-inframold \
    -f values.yaml -n argocd
    
  5. Once the helm chart is installed point the workload URL to the load balancer's IP address. To get the IP address of the load balancer
    kubectl get svc tfy-istio-ingress -n istio-system
    
  6. We will also need the TLS certificates to be passed to the load balancer (in our case istio) to terminate the TLS traffic. The example is using cert-manager and GCP cloud DNS.

Adding domain to Load balancer

  1. We need to add one more domain to the load balancer so that a separate domain can be used to host the workloads only. This domain can be a wildcard (recommended) as well.
  2. To add the domain
    1. Point the domain to the load balancer IP address.
    2. Pass the TLS certificate to istio so that it can terminate the TLS traffic.
    3. Add the domain in the platform.

Adding integrations

If you have used ocli to bootstrap your infrastructure then it creates the following additional resources alongwith GKE cluster in your selected resource group. Check the below documents to understand how to create the integrations manually, if not done through OCLI and how to add them to the platform.

  1. Artifact Registry - How to add GCP artifact registry
  2. Secrets Manager - How to add GCP secrets manager
  3. GKE cluster - How to add GKE cluster integration
  4. Cloud storage - How to add cloud storage integration