Skip to content

Insulate users from kubeadm API version changes #2769

@randomvariable

Description

@randomvariable

⚠️ Cluster API maintainers can ask to turn an issue-proposal into a CAEP when necessary, this is to be expected for large changes that impact multiple components, breaking changes, or new large features.

Goals

  1. Improve kubeadm to support Cluster API
  2. Remove duplication of effort across kubeadm and Cluster API

Non-Goals/Future Work

  1. Fully replace kubeadm

User Story

As an operator, I want kubeadm to have better support for Cluster API's use cases to reduce the number of failed machines in my infrastructure.

Detailed Description

In a number of environments, machines can intermittently fail to bootstrap. The most common of these are control plane joins, which lead to temporary changes in etcd and API server availability, mediated by the speed of the underlying infrastructure and the particulars of infrastructure load balancers.

Some ugly hacks have been introduced, notably #2763 to retry kubeadm operations. As a long term solution, Cluster API should be a good kubeadm citizen and make changes to kubeadm to do the appropriate retries to cover the variety of infrastructure providers supported by Cluster API. In addition, the KCP controller re-implements some of the

Contract changes [optional]

Data model changes [optional]

  • Migrate to kubeadm v1beta2

[Describe contract changes between Cluster API controllers, if applicable.]

/kind proposal

Metadata

Metadata

Labels

area/dependencyIssues or PRs related to dependency changeskind/api-changeCategorizes issue or PR as related to adding, removing, or otherwise changing an APIkind/release-blockingIssues or PRs that need to be closed before the next CAPI releaselifecycle/activeIndicates that an issue or PR is actively being worked on by a contributor.priority/critical-urgentHighest priority. Must be actively worked on as someone's top priority right now.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions