mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-29 13:24:42 +00:00
Merge pull request #44967 from chuckbutler/43461
Automatic merge from submit-queue Fixes #43461 **What this PR does / why we need it**: 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 probing the etcd connection and if changing triggers a re-configure and recycle of the api-control plane when etcd units are scaling up and down. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #43461 **Special notes for your reviewer**: Check the contents of /var/snap/kube-apiserver/current/args after scaling etcd both up and down and the values will have changed, and kube-apiserver will have recycled to read the new connection string. **Release note**: ```release-note kubernetes-master juju charm properly detects etcd-scale events and reconfigures appropriately. ```
This commit is contained in:
commit
15533fac30
@ -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