Onboarding a Cluster
Before you onboard a Workload Cluster, verify that you have:
- Configured your local tctl to communicate with your Management Plane
- Deployed a target EKS cluster, and have configured eksctl and kubectl to access that cluster
The Cluster Onboarding process installs a Tetrate-managed Istio instance on that cluster. Remove any instances of Istio from the cluster before proceeding.
Follow either Option 1 or Option 2 to onboard the cluster. You can also use the Getting Started wizard to onboard a cluster.
- Option 1: Direct from Tetrate
- Option 2: AWS Marketplace
- Option 3: Getting Started wizard
Installing from your Private Registry
Register the workload cluster in TSE, using tctl
Create the cluster configuration cluster-1.yaml. You can choose a different cluster name, but the organization must have the value
tse
.Apply this configuration to TSE using tctl:
cat <<EOF > cluster-1.yaml
apiVersion: api.tsb.tetrate.io/v2
kind: Cluster
metadata:
name: cluster-1
organization: tse
EOF
tctl apply -f cluster-1.yamlObtain the TSE Cluster Configuration
Acquire the cluster configuration for the new cluster cluster-1. This resource contains the keys, certificates, addresses and ports needed for the cluster to securely communicate with the TSE Management Plane, and should be kept secret:
tctl x cluster-install-template cluster-1 > cluster-1-values.yaml
Complete the onboarding by installing the Control Plane on the workload cluster
Using the configuration cluster-1-values.yaml, install the Control Plane software:
helm install tse-cp tse/controlplane \ --version 1.8.0+tse \ --namespace istio-system --create-namespace \ --timeout 5m \ --values cluster-1-values.yaml \ --set image.registry=${HUB}
Installing from AWS Marketplace
Configure the Installation
Locate your TSE Subscription in AWS Marketplace and chose to Configure the Software:
Configure the TSE Software Select TSE Control Plane, and the most recent software version available.
Click Continue to Launch.
Do not follow the marketplace instructions!For best results, use the following instructions.
Acquire the TSE repo charts
The TSE images are located in the AWS Marketplace
us-east-1
region. You can install these images into any selected AWS region.Log in to the AWS ECR repository:
aws ecr get-login-password \
--region us-east-1 | helm registry login \
--username AWS \
--password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.comPrepare the file structure on your workstation and download the charts:
mkdir awsmp-chart && cd awsmp-chart helm pull oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/tetrate-io/tse/controlplane --version 1.8.0 tar xf $(pwd)/* && find $(pwd) -maxdepth 1 -type f -delete
Register the workload cluster in TSE, using tctl
Create the cluster configuration cluster-1.yaml. You can choose a different cluster name, but the organization must have the value
tse
.Apply this configuration to TSE using tctl, and save the response:
cat <<EOF > cluster-1.yaml
apiVersion: api.tsb.tetrate.io/v2
kind: Cluster
metadata:
name: cluster-1
organization: tse
EOF
tctl apply -f cluster-1.yamlObtain the TSE Cluster Configuration
Acquire the cluster configuration for the new cluster cluster-1. This resource contains the keys, certificates, addresses and ports needed for the cluster to securely communicate with the TSE Management Plane, and should be kept secret:
tctl x cluster-install-template cluster-1 > cluster-1-values.yaml
Complete the onboarding by installing the Control Plane on the workload cluster
Using the configuration cluster-1-values.yaml, install the Control Plane software:
helm install tse-cp \ --namespace istio-system controlplane/ \ --create-namespace --timeout 5m \ --set image.registry=709825985650.dkr.ecr.us-east-1.amazonaws.com/tetrate-io/tse \ --set image.tag=1.8.0-tse \ --values cluster-1-values.yaml
Installing using the Getting Started Wizard
Access the Getting Started wizard
In the TSE UI, click on the Getting Started wizard and select Onboard your Application Cluster:
TSE Getting Started wizard Name your cluster
Provide a name for your new cluster, such as cluster-1.
Obtain the helm values
Download the helm values, which contain the settings needed to access the Management Console. Save them locally.
Install the Control Plane software on the workload cluster
Copy-and-paste the helm command to install the Control Plane software. Ensure that the command can reference the helm values file you downloaded in the previous step.
The helm install installs an operator which then bootstraps the installation. Allow several minutes for the cluster to fully onboard onto TSE.
You can track progress by following the logs from the tsb-operator:
kubectl logs -f -n istio-system -l name=tsb-operator
What just happened?
The onboarding process does two things:
- Installs the TSE Control Plane component onto the workload cluster and configures it to communicate with the Management Plane
- Installs a TSE-validated Istio instance on the workload cluster
The onboarding process deploys an operator tsb-operator-control-plane
in the istio-system
namespace, which bootstraps other operators. These install the necessary services, including istiod
, on the workload cluster.
Tips and Troubleshooting
Onboard Additional Clusters
You can onboard additional clusters to TSE using the process above. Make sure to:
- Use a unique name for each cluster
- Replace cluster-1 above with an alternate name
- Before running helm, ensure that kubectl is using the correct context:
kubectl config current-context
to obtain the current contextkubectl config get-contexts
to list available contextskubectl config use-context NAME
to switch to a different context
For example, after configuring kubectl:
CLUSTER=cluster-2
cat <<EOF > ${CLUSTER}.yaml
apiVersion: api.tsb.tetrate.io/v2
kind: Cluster
metadata:
name: ${CLUSTER}
organization: tse
EOF
tctl apply -f ${CLUSTER}.yaml
tctl x cluster-install-template ${CLUSTER} > ${CLUSTER}-values.yaml
helm install tse-cp tse/controlplane \
--version 1.8.0+tse \
--namespace istio-system --create-namespace \
--timeout 5m \
--values ${CLUSTER}-values.yaml \
--set image.registry=${HUB}
Running in a locked-down, non-root environment
In some locked-down environments, the standard install profile for the TSE control plane may not be suitable. In particular, several components run as root by default, and the installation profile may need to be modified to avoid this.
Refer to the FAQ: Running the TSE control-plane in a locked-down, non-root environment for details on how to handle this situation.