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

Envoy CLI bind addresses #6107

Merged
merged 6 commits into from
Jul 12, 2019
Merged

Envoy CLI bind addresses #6107

merged 6 commits into from
Jul 12, 2019

Conversation

mkeeler
Copy link
Member

@mkeeler mkeeler commented Jul 10, 2019

Previously if the lan address was non-empty we would add the option to bind to the tagged addresses. Now that is only done if both the lan and wan addr are valid addresses of one of the hosts interfaces.

Additionally a new cli option -bind-address can be used (multiple times) to create a mapping of the desired bind addresses to use instead of the default rules or tagged addresses. Therefore you can now advertise a service address (lan / wan) that are not necessarily real addresses of the container/system/etc. and then override the bind behavior.

This is particularly useful for k8s to be able to use a load balancer where the IP is not known prior to registration and its not an address attached to one of the containers NICs.

In testing this I also found that some of our API responses were blowing up due to not being able to encode the proxy config with a nested map. So I added JSON serializer for the ConnectProxyConfig struct to ensure that the opaque config is JSON serializable.

@mkeeler mkeeler added this to the 1.6.0-beta2 milestone Jul 10, 2019
@mkeeler mkeeler requested review from a team and lkysow July 10, 2019 16:45
Copy link
Contributor

@freddygv freddygv left a comment

Choose a reason for hiding this comment

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

Looks good overall, just have some questions inline.

agent/structs/connect_proxy_config.go Show resolved Hide resolved
command/connect/envoy/envoy.go Show resolved Hide resolved
command/connect/envoy/envoy.go Show resolved Hide resolved
Copy link
Contributor

@freddygv freddygv left a comment

Choose a reason for hiding this comment

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

LGTM

command/connect/envoy/envoy.go Outdated Show resolved Hide resolved
command/connect/envoy/envoy.go Show resolved Hide resolved
command/connect/envoy/envoy.go Outdated Show resolved Hide resolved
mkeeler and others added 6 commits July 12, 2019 10:20
… structs

This gets rid of some json encoder errors in the catalog endpoints
Any place where this struct gets JSON encoded will benefit as opposed to having to implement it everywhere.
@mkeeler mkeeler force-pushed the envoy-cli-bind-addresses branch from 626efd9 to 46d55c6 Compare July 12, 2019 14:21
@mkeeler mkeeler merged commit 6e65811 into release/1-6 Jul 12, 2019
@mkeeler mkeeler deleted the envoy-cli-bind-addresses branch July 12, 2019 16:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants