One-Line Installation of Traefik Enterprise Edition on Kubernetes¶
This page guides you through the installation of TraefikEE (Traefik Enterprise Edition) as a Kubernetes Ingress Controller.
Assistance with configuring or setting up a Kubernetes cluster are not included in this guide. If you need more information about Kubernetes, start with the following resources:
A Kubernetes cluster:
- Supported versions: 1.10, 1.11, 1.12 and 1.13
- RBAC enabled (recommended),
- Access to the Kubernetes API with
kubectl, with the ability to create and manage namespaces and their resources.
- A default
StorageClassconfigured. TraefikEE uses
StatefulSets, and their storage requires a default
StorageClassto be configured. Instructions on doing so can be found here.
- Supported versions: 2.9, 2.10, 2.11, 2.12
- If a supported version is found,
traefikeectlwill use your helm binary.
- If no helm installation is found,
traefikeectlwill download helm in a temporary folder.
- If an unsupported version of helm is found,
traefikeectlwill not be able to work properly. You will have to upgrade/downgrade your helm installation to be able to use it.
To install TraefikEE in Kubernetes, use the same
traefikeectl install command line
as described in the Getting Started with Installation page,
and adds the option
traefikeectl install \ --licensekey="XXXXXXXXX" \ --dashboard \ --kubernetes
The previous command installs TraefikEE on your Kubernetes infrastructure, with the following elements:
- A Control Plane with 3 nodes for high availability
- A Data Plane with 1 node per Kubernetes' node
- An Ingress Controller of type
traefikis available, for an easy integration in your existing Kubernetes applications with on Ingress Rules
- A routing configuration watching for Kubernetes API for ingress rules
All the available installation options are listed on the traefikeectl Reference Page.
traefikeectl will generate a new username and password to secure the dashboard.
For security reasons, this password is not stored anywhere, and is not recoverable if lost.
If you lose this username or password, you will have to recreate the secret that contains them.
Instructions on how to do this can be found here.
Customizing the One-Line Installation¶
traefikeectl tool uses Helm under the hood to assist with installing TraefikEE.
values.yaml file can be provided to
traefikeectl to further customize the installation.
To provide the following configuration:
- 5 Control Nodes (with 2
- 10 Data Nodes (with 5
- Each node having limits at 500 Mb of memory and 1 vCPU
You would configure a values file:
replicas: controlNode: total: 5 allowedUnavailable: 2 dataNode: total: 10 allowedUnavailable: 4 resources: requests: memory: 500Mi cpu: 100m limits: memory: 500Mi cpu: 100m
Providing the custom values file to
traefikeectl can be done using the
traefikeectl install \ --licensekey="XXXXXXXXX" \ --dashboard \ --kubernetes \ --kubernetes.helmvaluespath=custom-values.yaml
The values that can be configured in this file are outlined in the Helm Chart Configuration Reference
Installation behind a proxy
In order to be able to install TraefikEE behind a proxy, you must provide the
values in your
# ... proxy: http: http://127.0.0.1:3129 https: http://127.0.0.1:3129
Validate that the TraefikEE cluster is installed correctly:
Name Availability Role Leader ---- ------------ ---- ------ bootstrap-traefikee-bootstrap-647965c6b5-xfktd ACTIVE CONTROL NODE YES traefikee-control-node-1 ACTIVE CONTROL NODE data-node-traefikee-data-node-68d856488c-5vx5n ACTIVE DATA NODE data-node-traefikee-data-node-68d856488c-stgns ACTIVE DATA NODE traefikee-control-node-2 ACTIVE CONTROL NODE traefikee-control-node-0 ACTIVE CONTROL NODE
Your TraefikEE for Kubernetes cluster is ready.
Backup your Installation¶
Don't forget to setup regular backups using the
traefikeectl backup command.
More information can be found in the backup and restore documentation.
The cluster can be easily uninstalled by running
If you would like to purge the release entirely, and free up the namespace for future use, you can use:
traefikeectl uninstall --kubernetes.deletenamespace
traefikeectl will use your kubeconfig file in the
$KUBECONFIG environment variable or in
You can override those values using the
--kubernetes.configpath argument in the command line.
More information about the uninstall options can be found on the traefikeectl Reference Page.