in pkg/server/healthz.go [44:67]
func (h *HealthZ) ServeHTTP(w http.ResponseWriter, _ *http.Request) {
klog.V(5).Infof("Started health check")
ctx, cancel := context.WithTimeout(context.Background(), h.RPCTimeout)
defer cancel()
conn, err := h.dialUnixSocket()
if err != nil {
http.Error(w, err.Error(), http.StatusServiceUnavailable)
return
}
defer conn.Close()
// create the health check grpc client
client := grpc_health_v1.NewHealthClient(conn)
// check health check response against gRPC endpoint.
err = h.checkRPC(ctx, client)
if err != nil {
http.Error(w, err.Error(), http.StatusServiceUnavailable)
return
}
w.WriteHeader(http.StatusOK)
w.Write([]byte("ok"))
klog.V(5).Infof("Completed health check")
}