Blog

Houston, we have Plugins! Traefik 2.3 Announcement

Traefik 2.3 features integration with Traefik Pilot, Middleware Plugins, ECS provider, and support for K8S IngressClass

Today we're proud to announce the latest release of Traefik! Traefik 2.3 brings in new capabilities, including the Traefik Plugin system, integration with Traefik Pilot, support for Amazon ECS, and support for the Kubernetes IngressClass API resource launched in Kubernetes 1.18. Let’s dive in and explore what these features mean for you, our users.

Traefik Plugins

With Go 1.8's release in March 2017, our community's most requested feature has been to add middleware plugin support to Traefik. Well, it's here. Traefik now supports the ability to add custom middleware functionality to your environment easily. Today, several useful plugins in the marketplace are waiting for you to use, such as BlockPath and Deny Ip. Plugins are designed to function and operate just like any other native middlewares already distributed with Traefik.

The plugin system operates in conjunction with Traefik Pilot, which maintains a catalog of community created plugins and a hash for each version published by the author. For security, Pilot ensures that you are running the actual code committed and tagged on GitHub every time Traefik launches.

Custom middleware plugins for the community, by the community
Custom middleware plugins for the community, by the community

You can either get started using the existing plugins marketplace or create your own plugin. We can't wait to see what the community is going to build!

Traefik Pilot Integration

Traefik Pilot is a managed SaaS application offered by Traefik Labs that helps operators of Traefik ensure their environments are operating efficiently and securely. This new integration brings users not only the plugins mentioned above but a centralized platform that provides performance metrics, security, and update notifications in real time. You can get started with Traefik Pilot today by signing up and configuring your Traefik instances with a uniquely generated key.

Traefik Pilot automatically collects performance metrics from your Traefik instances
Traefik Pilot automatically collects performance metrics from your Traefik instances

Once registered and activated, your Traefik instance will periodically send information to Traefik Pilot, providing you with insight into the performance, security, and availability of your Traefik instances.

Traefik Pilot will monitor the following data points on every Traefik instance you register:

  • Health Status and Availability Alerts
  • Version Information and Security Alerts
  • Performance Metrics
    • Requests per second
    • Total requests
    • Request duration

For additional details about Traefik Pilot and the features available upon registration of your Traefik instance, please check out the product announcement for Pilot.

Amazon ECS Provider

Amazon ECS is a managed orchestration service that can be used either on its own or in conjunction with Fargate, the AWS serverless compute engine for containers. The ECS provider for Traefik allows for the dynamic configuration of the provider using labels attached to your ECS containers.

This feature was contributed by alekitto, a community member, who refactored code from v1.x to support ECS by implementing the provider for the latest versions of Traefik. Thanks to his time and effort, the rest of the Traefik community can benefit while running their ECS workloads.

More information on how to activate or configure the provider is available here: https://doc.traefik.io/v2.3/providers/ecs/

Kubernetes IngressClass

With the release of Kubernetes 1.18, improvements made to the Ingress API have made possible new capabilities in Traefik 2.3. This release includes the ability to specify how Ingress paths should match, and features a new IngressClass resource that allows users to specify how controllers should implement Ingress resources. You can use these new APIs in Traefik with this release, which means better interoperability and vendor neutrality.

Also, Ingress resources utilizing the new pathType field will be supported accordingly. More information on how to utilize the support for the new IngressClass resource can be found both in our documentation and the Kubernetes official docs.

The Road Ahead

We're excited about the work we have ahead of us for the next release, Traefik 2.4. We are planning to revamp the Getting Started guides for 2.x, and with that will include common use case examples with introductions to more complex topics for popular platforms such as Kubernetes and Docker Swarm. This work comes after hearing from the community how we could improve the documentation and begin with more transparent explanations on the new configuration approaches and how to get started with it.

Also, we're looking at the configuration of Traefik itself and how we can abstract everyday use cases into a simpler and easy to use format. You'll be hearing more about this and other enhancements to Traefik, including support for the latest Kubernetes Service API that the team at Google has been working on, and features to support the inclusion of mTLS in Traefik Mesh.

We love hearing from the community on how you're using Traefik and what features you'd like to see in the future. Let us know by opening a Feature Request or reaching out to us on our community forums.