kubernetes-sigs / kubernetes-sigs/cluster-api

Speed up provisioning of the first set of worker machines by improving predicates on cluster watch

Open
#8,835 3 comments 0 reactions 0 assignees View on GitHub
area/bootstrap help wanted kind/feature priority/important-longterm triage/accepted
Dominant language
Go
Stars
4.3k
Forks
1.6k
Avg merge
1d 3h
Merged PRs (30d)
113

Description

### What would you like to be added (User Story)?

As a users I want CAPI to provision machines as fast as possible

### Detailed Description

While looking at cluster provisioning I noticed that the kubeadm bootstrap controller takes time to react to when the cluster reports control plane ready, which is the moment when workers machines are allowed to join.

From a preliminary investigation, the kubeadm bootstrap controller is watching for clusters, but existing predicates (more specifically `predicates.ClusterUnpausedAndInfrastructureReady`) are filtering out events when the cluster transition to control plane ready.

This issue is about investigating if we can speed up provisioning of the first set of worker machines by improving predicates

### Anything else you would like to add?

Note predicates.ClusterUnpausedAndInfrastructureReady, so some research is required before changing this method, or most probably it is better to create a new one.

### Label(s) to be applied

/kind feature
/area bootstrap

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the kubeadm bootstrap controller's cluster watch and predicates.ClusterUnpausedAndInfrastructureReady, then trace how the control-plane-ready transition is filtered. Confirm the intended predicate behavior and verify that the first worker machines can begin provisioning promptly after control plane readiness.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.