envoyproxy / envoyproxy/envoy

Implement the alt-port feature of the health check

Open
#29,033 3 comments 0 reactions 0 assignees View on GitHub
area/health_checking help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
428

Description

*Title*: *The alt-port in Healthcheck needs to be implemented. I would like to confirm it from any leads who might be aware of this.*

*Description*:
>We have a manifest as below. We are using protos from the go-control plane.
"
default:
interval: 1s
timeout: 1s
unhealthyThreshold: 1
healthyThreshold: 1
port: 8081 # alt port
http:
host: microsoft.com
path: /dynamic/app
match:
statusCodes:
- start: 200
end: 201
"

The service to which this is applied is exposing 2 ports - 8080 and 8081. The primary port is 8080. If the port is 8081 in the above config, the request is receiving 200s. But if the port is 8080(which is the serving port) we are receiving 503s. We are also receiving 503 when we set the port to some random value other than 8080 and 8081.

I would like to know if this field is even being supported or not as we are seeing varying behavior or if my understanding is wrong

Below is the proto of alt-port in health check in envoy
`
// [#not-implemented-hide:] Non-serving port for health checking.
AltPort *wrappers.UInt32Value ``protobuf:"bytes,6,opt,name=alt_port,json=altPort,proto3" json:"alt_port,omitempty"`

[optional *Relevant Links*:]
>.https://github.com/envoyproxy/go-control-plane/blob/main/envoy/config/core/v3/health_check.pb.go#L186C6-L186C6

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.