K8s: implement k8s healthcheck API at Vector for load balancing #2816
Labels
meta: idea
Anything in the idea phase. Needs further discussion and consensus before work can begin.
platform: kubernetes
Anything `kubernetes` platform related
We already have a topology-level health check, which is different.
Kubernetes offers a health check system for pods. It's a contract between the Kubernetes load balancing system and the software running is a
Pod
- in short, when health check for aPod
fails, thePod
is removed from balancing and the traffic is distributed to other endpoints of aService
that the failingPod
is part of.It is explained in more detail at #2222.
It doesn't seem like directly exposing the topology healthiness status makes sense as the Kubernetes health check.
I suggest we discuss the possible options here.
In essence, it seems like we don't want to ever remove the Vector
Pod
from balancing in some use cases (generally speaking - it's always the case in aDaemonSet
deployment scenario), but in other cases - like in a Serivce deployment strategy (or, generally, with aDeployment
resource) - we might want to remove VectorPod
s from balancing because in that use case they probably are acting as a set of processes behind a load balancer.So, things in question are:
The decision we make here will likely have implications beyond just k8s, since the health check interface and semantics are pretty much standard at this point. Among others, nginx and HAProxy can use healthiness data if exposed via HTTP interface.
The text was updated successfully, but these errors were encountered: