kubeadm: add API support for controlling various timeouts during init / join

edit: neolit123

ticket repurposed for a general / broader timeout support.

design draft : https://docs.google.com/document/d/1q0OLHSD6M0JPjN8PxgvpJX1726omQh_Qd3os4LQqrtI/edit


What keywords did you search in kubeadm issues before filing this one?

“etcd timeout” (5 open, 173 closed)

Similar questions, but not formal asks:

#1712 (comment) #2092 (comment by @neolit123)

Is this a BUG REPORT or FEATURE REQUEST?

FEATURE REQUEST /kind feature /kind api-change /area etcd

Detailed motivation is covered in #2457, but the short version is AWS would like to add support to CAPI for Bottlerocket, and we have constraints that prevent us from just running kubeadm join without stopping part way along, running OS-specific configuration, and then resuming with kubeadm join --skip-phases ....

When bringing up etcd on additional control plane nodes, the subphase control-plane-join/etcd, kubeadm waits up to 40 seconds for etcd to be available before exiting. In our case, we expect kubeadm to fail, and want to perform our own configuration when it does. We’d like to make this timeout configurable so that we can exit as soon as configuration and certificates are ready. Other users have asked to increase this timeout

I think a new joinTimeout option under ClusterConfiguration.etcd.local makes the most sense, but feel free to point me to a better location. (Similar to the existing ClusterConfiguration.apiServer.timeoutForControlPlane option)

Versions

kubeadm version (use kubeadm version): All

Environment:

  • Kubernetes version (use kubectl version): All
  • Cloud provider or hardware configuration: AWS
  • OS (e.g. from /etc/os-release): Bottlerocket
  • Kernel (e.g. uname -a):
  • Others:

cc @bcressey @jaxesn @vignesh-goutham

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Reactions: 1
  • Comments: 43 (40 by maintainers)

Most upvoted comments

i am assigning myself to this to try to get it done for 1.30.

Can I work on it?