Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
kubeadm: Group centric component configs #85639
What type of PR is this?
What this PR does / why we need it:
kubeadm's current implementation of component config support is "kind" centric.
Thus a more appropriate way to identify component configs is required.
Probably the best solution identified so far is a config group.
Hence, this change rips off the old kind based support for component configs
Which issue(s) this PR fixes:
Special notes for your reviewer:
This PR is part of the implementation of the new kubeadm component config management scheme KEP (see link below).
Does this PR introduce a user-facing change?:
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
kubeadm's current implementation of component config support is "kind" centric. This has its downsides. Namely: - Kind names and numbers can change between config versions. Newer kinds can be ignored. Therefore, detection of a version change is considerably harder. - A component config can have only one kind that is managed by kubeadm. Thus a more appropriate way to identify component configs is required. Probably the best solution identified so far is a config group. A group name is unlikely to change between versions, while the kind names and structure can. Tracking component configs by group name allows us to: - Spot more easily config version changes and manage alternate versions. - Support more than one kind in a config group/version. - Abstract component configs by hiding their exact structure. Hence, this change rips off the old kind based support for component configs and replaces it with a group name based one. This also has the following extra benefits: - More tests were added. - kubeadm now errors out if an unsupported version of a known component group is used. Signed-off-by: Rostislav M. Georgiev <firstname.lastname@example.org>
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rosti
The full list of commands accepted by this bot can be found here.
The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing