mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 04:33:26 +00:00
Fixes #43461
The master-components started state triggers a daemon recycle. The guard was to prevent the daemons from being cycled too often and interrupting normal workflow. This additional state check is guarded against the etcd connection string from changing, allowing the current behavior but triggers a re-configure and recycle of the api-control plane when etcd units are scaling up and down.
This commit is contained in:
parent
6d17ab3201
commit
690be0fb82
@ -296,6 +296,22 @@ def start_master(etcd):
|
||||
set_state('kubernetes-master.components.started')
|
||||
|
||||
|
||||
@when('etcd.available')
|
||||
def etcd_data_change(etcd):
|
||||
''' Etcd scale events block master reconfiguration due to the
|
||||
kubernetes-master.components.started state. We need a way to
|
||||
handle these events consistenly only when the number of etcd
|
||||
units has actually changed '''
|
||||
|
||||
# key off of the connection string
|
||||
connection_string = etcd.get_connection_string()
|
||||
|
||||
# If the connection string changes, remove the started state to trigger
|
||||
# handling of the master components
|
||||
if data_changed('etcd-connect', connection_string):
|
||||
remove_state('kubernetes-master.components.started')
|
||||
|
||||
|
||||
@when('kube-control.connected')
|
||||
@when('cdk-addons.configured')
|
||||
def send_cluster_dns_detail(kube_control):
|
||||
|
Loading…
Reference in New Issue
Block a user