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

Proxy-only nodes #2698

Closed
schmichael opened this issue Jun 8, 2017 · 6 comments
Closed

Proxy-only nodes #2698

schmichael opened this issue Jun 8, 2017 · 6 comments

Comments

@schmichael
Copy link
Member

Original post: https://groups.google.com/d/msg/nomad-tool/bauXDSiCkAY/Kp9vCyhABgAJ

It seems reasonable to want to be able to run agents purely for the purpose of proxying requests. This could be accomplished by disabling both client and server in the agent config:

client { enabled = false }
server { enabled = false }

However internally it may take some refactoring to move server discovery, API advertisement, and the API itself out of the Client and into the agent.

@automaticgiant
Copy link

automaticgiant commented Oct 12, 2017

why is this better than a proxy (like fabio) or ssh tunnel in front? would that proxy do a bunch of acl/sentinal stuff that would otherwise be done by client or server?

just read the original post, but still idk.

@ketzacoatl
Copy link
Contributor

Last I checked/tested/banged my head on this.. it takes a bit more, for example, for some commands, the server sends you to a specific client. Having an instance of nomad that is responsible for proxying requests would be helpful. Also, something like fabio ought to run on nomad, and as core infrastructure, nomad ought to have minimal dependencies to run well in our env. Just my 2c.

@schmichael
Copy link
Member Author

why is this better than a proxy (like fabio) or ssh tunnel in front? would that proxy do a bunch of acl/sentinel stuff that would otherwise be done by client or server?
-- @automaticgiant

Great question. Nomad's mTLS implementation uses custom certificate validation logic, so I don't think any other generic HTTP proxies would handle it correctly. I'm not sure how many handle client certificates for upstreams either.

Using a native Nomad proxy would also require one less network hop as a proxy would always do an HTTP call to an upstream whereas a Nomad proxy could communicate directly with the servers via RPC (which is what most HTTP calls translate too).

SSH tunnels, generic HTTP proxies, and VPNs are not a bad way to access Nomad clusters, and they're how most people would access a Nomad proxy. They just have different properties and tradeoffs than a native Nomad proxy would offer.

@automaticgiant
Copy link

automaticgiant commented Oct 12, 2017

so @ketzacoatl, if the agent (and cli) had proxy support, you could forward a port to one, be able to make client/server only calls to the others, right?

@dadgar
Copy link
Contributor

dadgar commented Mar 12, 2018

Closing in favor of #3892

@dadgar dadgar closed this as completed Mar 12, 2018
@github-actions
Copy link

github-actions bot commented Dec 3, 2022

I'm going to lock this issue because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants