@@ -191,14 +191,13 @@ Yes. It is tested by `TestUpdateServiceLoadBalancerStatus` in pkg/registry/core/
191
191
192
192
###### How can a rollout or rollback fail? Can it impact already running workloads?
193
193
194
- A rollout can fail in case the new API is supported and consumed by CCM,
195
- but not all nodes get kube-proxy updated, so part of the workloads on a node will
196
- start sending the traffic to a LoadBalancer, while the others may still have the
197
- loadbalancer IP configured on a node interface.
198
-
199
- In case of a rollback, kube-proxy will also rollback to the default behavior, re-adding
200
- the LoadBalancer interface. This can fail for workloads that may be already relying
201
- on the new behavior (eg. sending traffic to the LoadBalancer expecting some additional
194
+ As the rollout will enable a feature not being used yet, there is no possible failure
195
+ scenario as this feature will then need to be also enabled by the cloud provider on
196
+ the services resources.
197
+
198
+ In case of a rollback, kube-proxy will also rollback to the default behavior, switching
199
+ back to VIP mode. This can fail for workloads that may be already relying on the
200
+ new behavior (eg. sending traffic to the LoadBalancer expecting some additional
202
201
features, like PROXY and TLS Termination as per the Motivations section).
203
202
204
203
###### What specific metrics should inform a rollback?
217
216
218
217
###### How can an operator determine if the feature is in use by workloads?
219
218
220
- Checking if the field ` .status.loadBalancer.ingress.ipMode ` is set to ` Proxy `
219
+ If the LB IP works correctly from pods, then the feature is working
221
220
222
221
###### How can someone using this feature know that it is working for their instance?
223
222
@@ -251,13 +250,10 @@ to determine if the feature is being used, and if there is any drift between nod
251
250
###### Does this feature depend on any specific services running in the cluster?
252
251
253
252
- cloud controller manager / LoadBalancer controller
254
- - LoadBalancer controller should set the right .status field for ` ipMode `
255
- - In case of this feature outage nothing happens, as LoadBalancers will be
256
- already out of sync with services in case of CCM being crashed
253
+ - If there is an outage of the cloud controller manager, the result is the same
254
+ as if this feature wasn't in use; the LoadBalancers will get out of sync with Services
257
255
- kube-proxy or other Service Proxy that implements this feature
258
- - Network interface IP address programming
259
- - In case of this feature outage, the user will get the same result/behavior as
260
- if the ` ipMode ` field has not been set.
256
+ - If there is a service proxy outage, the result is the same as if this feature wasn't in use
261
257
262
258
### Scalability
263
259
0 commit comments