-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
allow setting envoy proxy resource when using "expose" stanza #9854
Comments
Just touching base here. We are getting crushed in deployment resource requirements with mesh enabled and this feature on (expose). Just deployment of a single service with 4 instances is taking 1000mhz of cpu This is one of those things that get exponentially worse with every service that goes to the mesh |
Agreed this seems really important to be able to set. Alternatively, is there any way that the default resources can be set in the Nomad/Consul config so each job wouldn't have to set this? |
In our case we have different services with different levels of requests per second, we would want each service having it's own settings (and we encourage our teams to justify their resource usage) - but I can see the usefulness of a way to override the defaults at the global level. |
I need to take a look deeper in to the code, but a thought struck me. Can it not be checked if the sidecar task is using the container specified in |
I think we can just remove the precondition altogether; this was originally added when we still had hope of Connect potentially being backed by more than just Envoy, but that seems unlikely now. I'll work on this today so we can slip the fix into 1.0.4 |
Thank you! This is a huge improvement for us! |
This PR enables jobs configured with a custom sidecar_task to make use of the `service.expose` feature for creating checks on services in the service mesh. Before we would check that sidecar_task had not been set (indicating that something other than envoy may be in use, which would not support envoy's expose feature). However Consul has not added support for anything other than envoy and probably never will, so having the restriction in place seems like an unnecessary hindrance. If Consul ever does support something other than Envoy, they will likely find a way to provide the expose feature anyway. Fixes #9854
This PR enables jobs configured with a custom sidecar_task to make use of the `service.expose` feature for creating checks on services in the service mesh. Before we would check that sidecar_task had not been set (indicating that something other than envoy may be in use, which would not support envoy's expose feature). However Consul has not added support for anything other than envoy and probably never will, so having the restriction in place seems like an unnecessary hindrance. If Consul ever does support something other than Envoy, they will likely find a way to provide the expose feature anyway. Fixes #9854
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. |
Nomad version
v1.0.1
Operating system and Environment details
Linux
Issue
The default resource usage for envoy_sidecar is a bit too high for us, so we relying on
sidecar_task
to lower the resource:However, we found out once this is set, we are not able to set
![image](https://user-images.githubusercontent.com/21690857/105099436-ed580780-5a68-11eb-8f63-0e13672f62a6.png)
expose =true
anymore:So for now we have to remove the resource override for the envoy sidecar. But it really should be able to have expose and resource setting for sidecar at the same time.
Related line here:
nomad/nomad/job_endpoint_hook_expose_check.go
Lines 158 to 179 in 9a36ebe
The text was updated successfully, but these errors were encountered: