Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support traefik.backend for ECS #3510

Merged
merged 3 commits into from
Jul 4, 2018
Merged

Support traefik.backend for ECS #3510

merged 3 commits into from
Jul 4, 2018

Conversation

hwhelan-CB
Copy link
Contributor

@hwhelan-CB hwhelan-CB commented Jun 18, 2018

What does this PR do?

Uses the Traefik traefik.backend to allow two different versions of the same ECS service to exist without Traefik creating a separate frontend and backend for each. This makes canary deployments with ECS possible with Traefik, as two different versions of the same ECS service can be load-balanced between by existing as one Traefik backend and associating with one frontend.

Motivation

Canary deployments. Currently canary deployments with ECS and Traefik are not possible because the traefik.backend is ignored. If two versions of the same ECS service are created, two Traefik backends and frontends are created. This fix allows the use of the traefik.backend to indicate that two services belong to the same backend.

More

  • Added/updated tests
  • Added/updated documentation

Additional Notes

Related issue: #1164

traefik_before
traefik_after

@hwhelan-CB hwhelan-CB changed the title Canary testing with ECS using BackendLAbel Canary testing with ECS using BackendLabel Jun 18, 2018
@mmatur mmatur requested review from ldez and removed request for ldez June 18, 2018 14:35
@hwhelan-CB hwhelan-CB changed the title Canary testing with ECS using BackendLabel Canary deployments with ECS using BackendLabel Jun 18, 2018
@ldez ldez changed the title Canary deployments with ECS using BackendLabel Canary deployments with ECS using traefik.backend Jun 24, 2018
@ldez
Copy link
Contributor

ldez commented Jun 30, 2018

Using the traefik.backend label to group instances in the same backend is not really canary:

  • this only allows to do a simple load-balancing between 2 instances without distribution options between the servers
  • if the two instances have different configurations (on frontend or/and on backend), only one configuration will be used (randomly).

@ldez ldez changed the title Canary deployments with ECS using traefik.backend Support traefik.backend for ECS Jul 3, 2018
@ldez ldez added this to the 1.7 milestone Jul 3, 2018
Artem Abramchuk and others added 3 commits July 4, 2018 10:30
Use BackendName label to allow different backend versions to exist
without creating a new Backend for each service.
Copy link
Member

@mmatur mmatur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@juliens juliens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@ldez ldez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@traefiker traefiker merged commit 12c713b into traefik:master Jul 4, 2018
@hwhelan-CB hwhelan-CB deleted the ecs_label_fix branch July 9, 2018 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants