Skip to content

Commit c07acf1

Browse files
committed
[docs] add more uses cases to node-selector service annotation
1 parent 53a4505 commit c07acf1

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

docs/openstack-cloud-controller-manager/using-openstack-cloud-controller-manager.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ The options in `Global` section are used for openstack-cloud-controller-manager
155155
* `application-credential-secret`
156156
The secret of an application credential to authenticate with.
157157
* `tls-insecure`
158-
If set to `true`, then the servers certificate will not be verified. Default is `false`.
158+
If set to `true`, then the server's certificate will not be verified. Default is `false`.
159159
160160
### Networking
161161
@@ -265,6 +265,12 @@ Although the openstack-cloud-controller-manager was initially implemented with N
265265
node-selector="env, region=default"
266266
```
267267
268+
See also the Kubernetes [`node.kubernetes.io/exclude-from-external-load-balancers`](https://kubernetes.io/docs/reference/labels-annotations-taints/#node-kubernetes-io-exclude-from-external-load-balancers) label. When this label is set to `true`, the node is excluded from the LoadBalancer pool.
269+
270+
This label also triggers the Cloud Controller Manager to execute the `EnsureLoadBalancer` method to reconcile the LoadBalancer. If a node was already part of the cluster and its label was later modified after the service's `node-selector` annotation was changed, you can explicitly assign `node.kubernetes.io/exclude-from-external-load-balancers=false` label to a node to force the Cloud Controller Manager to reconcile the LoadBalancer pool.
271+
272+
For example, if a service has `node-selector="env=production"` and a node is labeled `env=development`, updating the node's label to `env=production` will not automatically add it to the LoadBalancer pool. In such cases, setting `node.kubernetes.io/exclude-from-external-load-balancers=false` label to the node ensures that the Cloud Controller Manager re-evaluates the node's eligibility and updates the LoadBalancer configuration accordingly.
273+
268274
* `cascade-delete`
269275
Determines whether or not to perform cascade deletion of load balancers. Default: true.
270276
@@ -317,7 +323,7 @@ Although the openstack-cloud-controller-manager was initially implemented with N
317323
call](https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=create-a-load-balancer-detail#creating-a-fully-populated-load-balancer).
318324
Setting this option to true will create loadbalancers using serial API calls which first create an unpopulated
319325
loadbalancer, then populate its listeners, pools and members. This is a compatibility option at the expense of
320-
increased load on the OpenStack API. Default: false
326+
increased load on the OpenStack API. Default: false
321327
322328
NOTE:
323329

0 commit comments

Comments
 (0)