You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on May 3, 2022. It is now read-only.
When strategy contains step with 0 traffic re-routing, and we still need to validate the new instance using in-cluster validation job, it's tough to resolve the new instance's ip for sending direct requests.
Having the definition above, the client's requests to the original service will not be routed to the new instance. However, we would like to validate that new instance behaves properly by executing the functional tests using a test job running at the same cluster. For this purpose we need to have a dedicated service that is routing the traffic to the new instances only.
This service could be removed (optionally) once the traffic is fully routed to the contender.
The service name could be in the following format ${ORIGINAL-SVC-NAME}-{ACHIEVED STEP}
The text was updated successfully, but these errors were encountered:
Hey! Good use case. At Booking this was solved by adding a "staging" service object to the Helm chart. This service object has a selector for the contender shipper-release label.
This works by ensuring that the service object has a stable name per application. This causes Shipper to overwrite the spec to update the selector to point to the new contender, when it is first installed. The convention at Booking is to use a stable, well known URL for a given application's staging service, and point test jobs at that URL.
Does that make sense? I wrapped up at Booking a little while ago, so I no longer have access to the charts to provide a more specific example. Perhaps @zoidbergwill can help on that front!
So what you can do is have multiple Service objects, instead of only one, and then Shipper will adjust traffic on the one Service object that has the shipper-lb: production label, which will be your normal app URL, e.g. service.com
How we configure DNS and external routing is quite customised, and not using any of the common off the shelf Kubernetes ingress controllers, so I'm not sure how that'd work with whatever you're using, but I can definitely try help more if you get stuck after adding an additional Service.
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
New Feature Request
The Problem Statement:
When strategy contains step with 0 traffic re-routing, and we still need to validate the new instance using in-cluster validation job, it's tough to resolve the new instance's ip for sending direct requests.
Example:
Having the definition above, the client's requests to the original service will not be routed to the new instance. However, we would like to validate that new instance behaves properly by executing the functional tests using a test job running at the same cluster. For this purpose we need to have a dedicated service that is routing the traffic to the new instances only.
This service could be removed (optionally) once the traffic is fully routed to the contender.
The service name could be in the following format ${ORIGINAL-SVC-NAME}-{ACHIEVED STEP}
The text was updated successfully, but these errors were encountered: