If unspecified in probe definition, User-Agent will be set to
`kube-probe/<version major.minor>` on httpGet probe types
instead of the default Go User-Agent.
etcd has support for client-cert-auth, which can be configured via the flag `--ca-file`,
when that is enabled, all the client requests must present with a client certificate,
however, the current component status check uses a single transport for all of the checks,
this is wrong, the checks should be different for each of different component, and make
each of them use different transport(tls configurations).
Keep-alive is often not useful for probing because kubelet checks many pods
with different addresses and ports. Disable keep-alive so prober does not
have to handle closed connections.
Fixes issue #3532. Added timeouts for HTTP and TCP checks
and enabled kubelet/probe to kubelet#maxRetries times
before declaring Failure.
Added Probe.TimeoutSecs to API
Probe variants now check container.LivenessProbe.TimeoutSeconds
Also added a test for timeouts in http_test.go.