Skip to content

a simple UDP/TCP echo implementation, good to use as a Kubernetes node health check

License

Notifications You must be signed in to change notification settings

piontec/kube-echo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kube-echo

This is a very simple TCP/UDP echo server that, can be easily deployed into a Kubernetes cluster. yyou can run just as a test echo service, but its main goal is to run as a DeamonSet, that can be used for detecting running Kubernetes nodes using UDP probes.

When dealing with UDP services on a Kubernetes cluster, one way to expose them to the outside world is by using a Service configured in NodePort mode. In this mode you can point an external load balancer to a UDP port that every Kubernetes node will allocate and translate so it goes to your UDP service. Still, some load balancers (Oracle's OCI is an example) require you to provide a full static request-response UDP conversation that can be used as a way to detect if target nodes are up and running. In that case, you can use kube-echo deployed as a DaemonSet with a NodePort service to use as a Kubernetes node liveness check from the load balancer's perspective. To avoid issues when the kube-echo itself goes down or is not running for any reason, it is exposing a simple heart beat prometheus metric you can use for alerting.

About

a simple UDP/TCP echo implementation, good to use as a Kubernetes node health check

Resources

License

Stars

Watchers

Forks

Packages