Installing with the Helm Chart¶
Deployment Only
The Traefik Enterprise Helm Chart provides support for deploying and upgrading core components such as the Controllers, Proxies and Plugin Registry, without applying any runtime configuration by default.
Requirements¶
- Helm version 3 installed
- Kubernetes version
1.13
or greater
Adding the Traefik Enterprise repository¶
Run the following command to add the repository:
helm repo add traefikee https://helm.traefik.io/traefikee
Run the following command to update the repository:
helm repo update
Deploy the cluster¶
To deploy Traefik Enterprise in the default Kubernetes namespace:
helm install traefikee traefikee/traefikee
Although, it is recommended to deploy Traefik Enterprise in a separate namespace:
helm install traefikee traefikee/traefikee --namespace traefikee --create-namespace
The next step is to create the Kubernetes secret that will hold the Traefik Enterprise license key.
kubectl create secret generic $CLUSTERNAME-license --from-literal=license="$TRAEFIKEE_LICENSE" -n traefikee
The command above assumes two environment variables named $CLUSTERNAME
and $TRAEFIKEE_LICENSE
are already defined.
Setting cluster name
The cluster name can customized with the cluster
key on your deployment values file or directly as a flag:
helm install traefikee traefikee/traefikee --set "cluster=mycluster" --namespace traefikee --create-namespace
Custom deploy parameters¶
The following command will display all available configuration parameters that can be changed according to the needs.
helm show values traefikee/traefikee
The output of the command can be redirected to a file e.g. values.yaml
and then modified accordingly and used with the Helm install command.
helm install traefikee traefikee/traefikee -f values.yaml
Applying a static configuration¶
After deploying, the cluster will be up and running but without any configuration attached to it which means the proxies won't be listening on any port.
There are two main approaches for applying a static configuration to the cluster at this point:
- by creating the Kubernetes Config Map with its content
- by using the
teectl
command
With a Kubernetes Config Map¶
Create the config map by executing the following command:
kubectl create configmap --from-file=static.yaml $CLUSTERNAME-static-config -n traefikee
Once the Config map is created, it must be mounted on the controllers with the proxy.staticConfig.configMap
and proxy.staticConfig.configMapKey
flags:
helm upgrade --install traefikee traefikee/traefikee --set "cluster=$CLUSTERNAME,controller.staticConfig.configMap.name=$CLUSTERNAME-static-config,controller.staticConfig.configMap.key=static.yaml" --namespace traefikee --create-namespace
Reloading the static configuration
Each time the config map is updated Traefik Enterprise will reload the changes automatically.
With the teectl
command line¶
Configuring Teectl to access the cluster remotly
For more information on how to setup teectl
see Remote Access Through teectl
.
Once teectl
is configured the static configuration file can be applied with:
teectl apply --file=./static.yaml
And to validate the live static configuration in any connected cluster:
teectl get static-config
Next steps¶
- Take a look at the Operations guide for instructions on setting up the Traefik Dashboard and API
- Deploy a sample application with an Ingress by following this guide