GCP Load Balancer very high health check frequency

I'm using an HTTP Load Balancer on GCP, configured via Kubernetes Ingress.

It seems like the number of health check requests is very frequent:

10.0.4.1 - - [24/Apr/2018:17:53:25 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.5 - - [24/Apr/2018:17:53:25 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.7 - - [24/Apr/2018:17:53:25 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.5 - - [24/Apr/2018:17:53:25 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.7 - - [24/Apr/2018:17:53:25 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.0.4.1 - - [24/Apr/2018:17:53:25 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.5 - - [24/Apr/2018:17:53:26 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.0.4.1 - - [24/Apr/2018:17:53:26 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.7 - - [24/Apr/2018:17:53:26 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.5 - - [24/Apr/2018:17:53:26 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.5 - - [24/Apr/2018:17:53:26 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.7 - - [24/Apr/2018:17:53:27 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"
10.128.0.5 - - [24/Apr/2018:17:53:27 +0000] "GET / HTTP/1.1" 200 695 "-" "GoogleHC/1.0"

Is this normal / expected? As you can see I'm responding with 200s. I also, checked the configuration and the poll interval is supposedly 60 seconds:

nathan@test-k8s-201417:~$ gcloud compute health-checks describe health-check-id
checkIntervalSec: 60

My expectation is a health check once per sixty seconds, instead I am seeing 100s per second!


Solution 1:

This is actually an expected behavior, since the Google probers actually send more requests than your health check interval.

But your backend health check will be marked healthy or unhealthy depending on the interval you set and if you get "200" messages. Here is some official documentation that explains this behavior.