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

Readiness and Liveness Probe Failing with Overload Manager Configuration #5589

Open
sekar-saravanan opened this issue Mar 8, 2024 · 1 comment
Labels
t:feature New feature or enhancement request

Comments

@sekar-saravanan
Copy link

sekar-saravanan commented Mar 8, 2024

Hi, I am working on emissary-ingress for quite sometime and configured the setup in kubernetes with below probs.

livenessProbe:
    httpGet:
        path: /ambassador/v0/check_alive
        port: 8877
        scheme: HTTP
readinessProbe:
    httpGet:
        path: /ambassador/v0/check_ready
        port: 8877
        scheme: HTTP

I'm in need of using envoy overload manager feature (envoy.overload_actions.stop_accepting_requests) to block some percent of request when cpu usage is too high and I made some modification on envoy.json to use the same.

  "overload_manager": {
    "actions": [
      {
        "name": "envoy.overload_actions.stop_accepting_requests",
        "triggers": [
          {
            "name": "envoy.resource_monitors.injected_resource",
            "scaled": {
              "saturation_threshold": 1,
              "scaling_threshold": 0.01
            }
          }
        ]
      }
    ],
    "refresh_interval": "3s",
    "resource_monitors": [
      {
        "name": "envoy.resource_monitors.injected_resource",
        "typed_config": {
          "@type": "type.googleapis.com/envoy.extensions.resource_monitors.injected_resource.v3.InjectedResourceConfig",
          "filename": "/tmp/pressure"
        }
      }
    ]
  }

when overload_actions triggered, its started to block some percent of requests. But unexpectedly, readiness and liveness probes (/ambassador/v0/check_ready, /ambassador/v0/check_alive) also getting failed.

Is there any other way, we can perform healthcheck on emissary-ingress instead (/ambassador/v0/check_ready, /ambassador/v0/check_alive) ?

@cindymullins-dw
Copy link
Contributor

cindymullins-dw commented Apr 17, 2024

Those are the only health-check endpoints I know of. I'm not sure there's another way to access the readiness/liveness probes if blocked by a custom config. Will mark this as a feature request. You could look at Active Health Checking w/ the Endpoint Resolver.

@cindymullins-dw cindymullins-dw added the t:feature New feature or enhancement request label Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
t:feature New feature or enhancement request
Projects
None yet
Development

No branches or pull requests

2 participants