Skip to content

Remove ClusterStatus from kubeadm-config #2506

@ghost

Description

Enhancement Description

  • One-line enhancement description (can be used as a release note): Remove ClusterStatus from kubeadm-config
  • Kubernetes Enhancement Proposal:

https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/kubeadm/2506-Remove-ClusterStatus-from-kubeadm-config

Summary

This KEP is proposing a new mode for tracking the list of the API endpoints in a cluster, thus allowing to remove the ClusterStatus entry in the kubeadm-config ConfigMap and solve the problems that arise when, for any reasons, such entry does not reflect anymore the real status of the cluster.

Motivation

In order to manage HA cluster properly, kubeadm requires to have access to the list of API endpoints in a cluster.

Currently this feature is implemented by adding an entry in the list of API endpoints that is stored in the ClusterStatus entry of the kubeadm-config ConfigMap.

There are well known problem related to the management of this list e.g. when a control-plane node dies or is deleted without invoking kubeadm reset, the list gets stale and the user is required to manually cleanup the list in order to avoid any kubeadm operation that relies on such list might incur into errors.

This KEP is going to propose a different mode for tracking the list of the API endpoints in a cluster, based on the inspection of the current Pods.

This approach does not require the maintenance of a separated list, and implicitly always reflect the current status of the cluster.

This allows to remove the ClusterStatus entry in the kubeadm-config ConfigMap and to clean-up all the related code in kubeadm init, kubeadm join and kubeadm reset

  • Discussion Link:
  • Primary contact (assignee): @fabriziopandini
  • Responsible SIGs: sig-cluster-lifecycle
  • Enhancement target (which target equals to which milestone):
    • Alpha release target (x.y):
    • Beta release target (x.y):
    • Stable release target (x.y):
  • Alpha
    • KEP (k/enhancements) update PR(s):
    • Code (k/k) update PR(s):
    • Docs (k/website) update PR(s):

Implementation History

  • the Summary and Motivation sections being merged signaling SIG acceptance
  • the Proposal section being merged signaling agreement on a proposed design
  • the date implementation started

Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.sig/cluster-lifecycleCategorizes an issue or PR as relevant to SIG Cluster Lifecycle.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions