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
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.
Enhancement Description
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
ClusterStatusentry in thekubeadm-configConfigMap 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
ClusterStatusentry of thekubeadm-configConfigMap.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
ClusterStatusentry in thekubeadm-configConfigMap and to clean-up all the related code inkubeadm init,kubeadm joinandkubeadm resetk/enhancements) update PR(s):k/k) update PR(s):k/website) update PR(s):Implementation History
SummaryandMotivationsections being merged signaling SIG acceptanceProposalsection being merged signaling agreement on a proposed designPlease keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.