Skip to main content
logoTetrate Service BridgeVersion: next

Onboard a Cluster

Once you have downloaded and configured tctl, the next step is to onboard a new workload cluster to your TSB installation.

Before You Begin

Ensure the following tools are available:

  • kubectl
  • helm

Set a variable with your chosen cluster name — it will be referenced throughout the steps below:

export CLUSTER_NAME=<cluster-name>

Cluster Prerequisites

Tetrate recommends installing AWS Load Balancer Controller on each workload cluster.

For high-volume or production usage, establish a PrivateLink connection to reduce cross-region egress costs to the hosted Management Plane. Please contact Tetrate support to set this up.

Onboard the Cluster

  1. Add the Tetrate Helm Repository

    helm repo add tetrate-tsb-helm 'https://charts.dl.tetrate.io/public/helm/charts/'
    helm repo update
  2. Register the Cluster and Generate Defaults

    Create the cluster object in TSB, then generate the default Helm values. The defaults file contains the connection details and credentials derived from your Management Plane:

    tctl apply -f - <<EOF
    apiVersion: api.tsb.tetrate.io/v2
    kind: Cluster
    metadata:
    name: ${CLUSTER_NAME}
    organization: <ORGANIZATION>
    spec: {}
    EOF

    tctl x cluster-install-template --with-isolation-boundary ${CLUSTER_NAME} > ${CLUSTER_NAME}-defaults.yaml
  3. Create the Values Override File

    Create a ${CLUSTER_NAME}-values.yaml file with the configuration required for the Hosted management plane:

    ${CLUSTER_NAME}-values.yaml
    spec:
    components:
    internalCertProvider:
    tsbManaged: {}
    spmAgent:
    enabled: true
    meshObservability:
    settings:
    apiEndpointMetricsEnabled: true
    Ambient Mode

    To enable Istio ambient mode, add the following to the components section:

        istio:
    ambient:
    enable: true
  4. Install the Tetrate Control Plane

    helm upgrade --install controlplane tetrate-tsb-helm/controlplane \
    --namespace istio-system --create-namespace \
    --timeout 10m \
    --values ${CLUSTER_NAME}-defaults.yaml \
    --values ${CLUSTER_NAME}-values.yaml
  5. Validate the Installation

    Check that all components are running:

    kubectl get pods -n istio-system

    Verify the cluster appears in TSB:

    tctl get cluster

    Your cluster status can also be viewed in the TSB UI:

    Cluster Status

Next steps

Once your cluster is onboarded you may wish to: