kubeadm: increase timeouts in the etcd client

- Extend the exponential backoff for add/remove/... retry to
11 steps ~=106 seconds. From experiments for 3 and more members
the race can take more that ~=26 seconds.
- Increase the dialTimeout for client creation to 40 seconds.
20 seconds seems racy for 3 and more members.
This commit is contained in:
Lubomir I. Ivanov 2020-01-24 02:13:18 +02:00
parent 5e0c0779a1
commit a027c379f7

View File

@ -42,7 +42,7 @@ const etcdTimeout = 2 * time.Second
// Exponential backoff for etcd operations
var etcdBackoff = wait.Backoff{
Steps: 9,
Steps: 11,
Duration: 50 * time.Millisecond,
Factor: 2.0,
Jitter: 0.1,
@ -128,9 +128,9 @@ func NewFromCluster(client clientset.Interface, certificatesDir string) (*Client
}
// dialTimeout is the timeout for failing to establish a connection.
// It is set to 20 seconds as times shorter than that will cause TLS connections to fail
// It is set to >20 seconds as times shorter than that will cause TLS connections to fail
// on heavily loaded arm64 CPUs (issue #64649)
const dialTimeout = 20 * time.Second
const dialTimeout = 40 * time.Second
// Sync synchronizes client's endpoints with the known endpoints from the etcd membership.
func (c *Client) Sync() error {