Using the Traffic Manager
Blackbird cluster (powered by Telepresence) uses a Traffic Manager to route cloud traffic to and from the user. The Traffic Manager is deployed in your cluster using Helm, which is integrated into the telepresence
binary. This binary includes both Helm and a Helm chart for the Traffic Manager to ensure version consistency between the binary and the deployed components.
Note: If you're a former Telepresence user who's now working in Blackbird, you must install the latest Blackbird CLI and Traffic Manager. Previously installed Traffic Managers from Telepresence are incompatible. For more information, see Getting started with the Blackbird CLI and Installing the Traffic Manager.
Provider prerequisites
Google Kubernetes Engine
If you're using a private Google Kubernetes Engine (GKE) cluster, the default firewall settings will block the Kubernetes API server from calling the Traffic Manager's webhook injector. To ensure Blackbird functions properly, you'll need to add a firewall rule to allow Kubernetes masters to access TCP port 8443 in your pods.
For example, for a cluster named tele-webhook-gke
in region us-central1-c1
:
GKE authentication plugin
Starting with Kubernetes version 1.26, GKE requires the use of the gke-gcloud-auth-plugin. You'll need to install this plugin to use Blackbird with Docker while using GKE.
Amazon Elastic Kubernetes Service plugin
If you're using an Amazon Web Services (AWS) CLI version earlier than 1.16.156
, you need to install the aws-iam-authenticator. This plugin allows you to use Blackbird with Docker while using Amazon Elastic Kubernetes (EKS).
Installing the Traffic Manager
You can install the Traffic Manager in one of three ways:
- Install the Traffic Manager using the Blackbird CLI
- Install the Traffic Manager into a custom namespace using the Blackbird CLI
- Install the Traffic Manager with a custom configuration using the Blackbird CLI
Install the Traffic Manager using the Blackbird CLI
You can perform a basic installation of the Traffic Manager with default settings.
To perform a basic install:
- Run the following command.
Install the Traffic Manager into a custom namespace using the Blackbird CLI
You can install the Traffic Manager into any namespace.
To install into a custom namespace:
- Run the
install
command with the--namespace
flag.Note: If you don't want to create a namespace, you can also pass
--create-namespace=false
. - Add the namespace to your kubeconfig using kubectl.
Install the Traffic Manager with a custom configuration using the Blackbird CLI
You can modify the deployment settings by passing custom values to Helm during installation.
To install with a custom configuration:
- Create a values.yaml file with your custom config values.
- Run the
install
command with one of the following:- Use the
--values
flag set to the path to your values file. - Use the
--set
flag to define items like logging levels.
- Use the