The terminal-controller-manager is used for the webterminal feature of the gardener/dashboard.
The terminal-controller-manager watches Terminal resources under the dashboard.gardener.cloud/v1alpha1 API group and ensures the desired state on the host and target cluster.
Host and target cluster can also be the same. For more details and a usage scenario see docs here.
Prerequisites:
To build and push the images, run docker-build and docker-push make targets. Adapt the image as necessary:
make docker-build docker-push IMG_MANAGER_REPOSITORY=example/my-repoThe local setup describes the use of the local kind cluster setup of gardener. After deploying the gardener locally, the helm chart of the terminal-controller-manager can be installed into the kind cluster.
First, deploy the gardener locally Deploying Gardener locally into a kind cluster. For more information check out https://github.com/gardener/gardener/blob/master/docs/deployment/getting_started_locally.md#setting-up-the-kind-cluster-garden-and-seed. The basic steps are the following.
Clone the gardener repository.
git clone git@github.com:gardener/gardener.gitChange directory to gardener.
cd gardenerSet up a new kind cluster named gardener-local.
make kind-upThe kubeconfig is stored in the ./example/gardener-local/kind/local/kubeconfig file within the gardener directory. Alternatively run kind get kubeconfig --name gardener-local to print out the kubeconfig.
Deploy Gardener resources into the cluster.
make gardener-upSet the KUBECONFIG environment variable for the local garden cluster:
export KUBECONFIG=$PWD/example/gardener-local/kind/local/kubeconfigChange directory to terminal-controller-manager.
cd terminal-controller-managerBuild the terminal-controller-manager image and load it into the kind cluster.
make load-manager-docker-imageRun install make target.
make installTo verify that everything worked, check if the terminal-controller-manager pod is running in the terminal-system namespace:
kubectl -n terminal-system get po
NAME READY STATUS RESTARTS AGE
terminal-controller-manager-6d7b5bfbdd-l6vg9 2/2 Running 0 10s