GithubHelp home page GithubHelp logo

Comments (9)

lizan avatar lizan commented on June 29, 2024

It is possible to do this with custom nginx.conf by adding something like this:

location /healthz {
  proxy_pass http://<point to another endpoint>;
}

before the regular grpc_pass directive. I haven't got chance to try but it should work.

from esp.

ashi009 avatar ashi009 commented on June 29, 2024

Yep, I know this would work but would love to have this out-of-the-box.

from esp.

lizan avatar lizan commented on June 29, 2024

I see. We already have kind of support in nginx.conf template to let ESP return a hardcoded 200 here, feel free to open an PR to endpoints-tools to make it generates proxy_pass directive.

from esp.

ashi009 avatar ashi009 commented on June 29, 2024

Speaking of that, I found that providing a healthz/ handler with consistent 200 response is just misleading and for that case it should be called nullz/ instead.

from esp.

qiwzhang avatar qiwzhang commented on June 29, 2024

@ashi009 agreed that the new health port forwarding to the backend should be called healthz. But to be backward compatible (not to break existing customers), we may have to keep the current name. We have to come up a new name for the new port.

from esp.

qiwzhang avatar qiwzhang commented on June 29, 2024

revisit this issue. Not sure if it is still required.

Since backend is grpc, forward a healhz call to another http endpoint may not work. it is not really the health of the grpc backend unless the http endpoints monitors the grpc server.

So not sure if suggested solution will help

from esp.

ashi009 avatar ashi009 commented on June 29, 2024

from esp.

qiwzhang avatar qiwzhang commented on June 29, 2024

In this case, users just need to expose the grpc health check service in the service config, ESP will happily pass the call from LB to the grpc service. ESP doesn't need to do anything special.

from esp.

ashi009 avatar ashi009 commented on June 29, 2024

from esp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.