mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Merge pull request #48737 from mattmoyer/faster-kubeadm-join
Automatic merge from submit-queue kubeadm: begin polling for bootstrap cluster info immediately **What this PR does / why we need it**: This PR changes the behavior of the `kubeadm` loop that polls the API server waiting for discovery information (`cluster-info`). The previous (inadvertent?) behavior was to sleep for `constants.DiscoveryRetryInterval` (5 seconds) before the first request ([`PollInfinite`](https://godoc.org/k8s.io/apimachinery/pkg/util/wait#PollInfinite) vs. [`PollImmediateInfinite`](https://godoc.org/k8s.io/apimachinery/pkg/util/wait#PollImmediateInfinite)). After this change, `kubeadm` begins does the first check immediately before it moves into the slower polling mode. This takes around 5 seconds off the average time for a new node to join. #### Before (~5.5s) ``` root@worker:~# time kubeadm join --token abc.123 192.168.42.10:6443 [...] real 0m5.523s user 0m0.112s sys 0m0.124s ``` #### After (~0.5s) ``` root@worker:~# time kubeadm join --token abc.123 192.168.42.10:6443 [...] real 0m0.587s user 0m0.092s sys 0m0.132s ``` **Which issue this PR fixes**: **Special notes for your reviewer**: This is my first Kubernetes PR, so please let me know if it's formatted correctly. **Release note**: ```release-note NONE ```
This commit is contained in:
commit
7d97208ef7
@ -58,7 +58,7 @@ func RetrieveValidatedClusterInfo(discoveryToken string, tokenAPIServers []strin
|
||||
fmt.Printf("[discovery] Created cluster-info discovery client, requesting info from %q\n", bootstrapConfig.Clusters[clusterName].Server)
|
||||
|
||||
var clusterinfo *v1.ConfigMap
|
||||
wait.PollInfinite(constants.DiscoveryRetryInterval, func() (bool, error) {
|
||||
wait.PollImmediateInfinite(constants.DiscoveryRetryInterval, func() (bool, error) {
|
||||
var err error
|
||||
clusterinfo, err = client.CoreV1().ConfigMaps(metav1.NamespacePublic).Get(bootstrapapi.ConfigMapClusterInfo, metav1.GetOptions{})
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user