This extracts function which was used in upgrade/convert flows to retry
transient errors to the main `kubernetes` package, expands it to ignore
timeout errors, and it is now used to retry errors where applicable in
`pkg/kubernetes`.
Fixes#3403
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
During the conversion process, API server goes down, so we can see lots
of network errors including EOF.
Fixes#3404
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
Without loadbalancer, when api-server goes down, there will be
connection refused errors which should be retried.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This command handles upgrading Kubernetes control plane from 1.18.x and
1.19.x to 1.19.x.
There's automatic handling of pod-checkpointer to speed up
kube-apiserver upgrades.
Separate PR will add K8s upgrade to integration tests.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>