Welcome to Traefik Enterprise Edition!¶
Thank you for using TraefikEE (Traefik Enterprise Edition), our production-grade, distributed, and highly-available routing solution. We hope you'll find everything you need in this documentation to help you set up your environment. In case you have questions, don't forget that TraefikEE comes with built-in support: feel free to contact us, we'll be happy to help and improve our product.
Traefik, for the Enterprise World¶
TraefikEE is built on top of Traefik and adds clustering features to satisfy the needs of Enterprise customers. All Traefik concepts apply to TraefikEE, so if you already are a Traefik user, you're in familiar territory.
It runs on the edge of your platform to route the traffic to your applications. TraefikEE is composed of two planes:
- The data plane: horizontally scalable nodes, which forward ingress traffic to your services
- The control plane: distributed nodes, implementing the raft consensus, which watch your platform and its services, stores topology changes, and reconfigure the data plane to adapt ingress routing dynamically
This distributed architecture is the cornerstone of TraefikEE’s strengths: natively highly available, scalable, and secure.
The control plane is a key component of TraefikEE. It is responsible for storing all cluster data, including events, TLS certificates, and Traefik configuration. It is also in charge of connecting to the orchestrator to generate the data plane routing configuration.
Since it is such a critical part of your system, TraefikEE is designed from the ground up to be fault tolerant: the control plane runs natively in cluster mode without any extra configuration or external Key Value Store. It ensures your data is always available and safe by using an internal distributed store, implemented with raft.
You can find more information on high availability by visiting "Learning" -> "Concepts" -> "High availability".
The data plane is in charge of forwarding the incoming requests to the applications. It has been designed to scale horizontally at a glance in order to face irregular network loads. TraefikEE handles high loads in a blink: just add more nodes to the data plane to handle the additional requests. When the peak is gone, shrink the number of nodes to save resources. Of course, this process can be done automatically using auto-scaling tools.
By splitting responsibilities between two planes, TraefikEE follows the principle of "Separation of Concerns." To ensure that sensitive information only runs on a closed and safe environment, the control plane is not exposed to the outside. As a result, any malicious action from external traffic will stay stuck in the data plane and your platform will stay safe. Moreover, TraefikEE only relies on encrypted communications between nodes, to add an extra layer of security.
Installing and managing a raft based application is usually a painful experience. Since Traefik was made popular thanks to its usability and refreshing user experience, we have extended those benefits for you to TraefikEE.
TraefikEE comes with an additional CLI that manages to deploy and operate a cluster with several nodes in only one command line.
We hope you will love using traefikeectl (pronounced “traefikee-cuddle”), a time-saving tool.
TraefikEE's dashboard shows you all the relevant information about your cluster at a glance.
- Visualize the nodes of your cluster, with their status:
- See the routing configuration of your TraefikEE cluster:
- Analyze the routing metrics:
TraefikEE licenses come with built-in support: contact our team of engineers at support.containo.us.
|Websockets, HTTP/2, GRPC ready||✓||✓|
|Distributed Let's Encrypt||✓|
|Encrypted Cluster Communication||✓|
|Built-In Commercial Support||✓|
|One-Line Clustered Deployment||✓|
Now that you have a basic overview of TraefikEE's concept, maybe you want to go straight to the installation phase and read the Getting Started with the Installation Guide.
Or maybe you'd like to familiarize yourself even more with the vocabulary and cast a glance at the glossary?