You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: input/kube-yaml/service-exposure.md
+7-10Lines changed: 7 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ There are many options to consider when creating connectors using YAML, see [Con
40
40
```
41
41
This creates a connector in the `east` site and exposes the `backend` deployment on the network on port 8080.
42
42
You can create a listener on a different site using the matching routing key `backend` to address this service.
43
-
43
+
44
44
To create the connector resource:
45
45
46
46
```bash
@@ -95,7 +95,7 @@ For configuration details, see [Listener resource][listener-resource].
95
95
```
96
96
This creates a listener in the `west` site and matches with the connector that uses the routing key `backend`.
97
97
It also creates a service named `east-backend` exposed on port 8080 in the current namespace.
98
-
98
+
99
99
To create the listener resource:
100
100
101
101
```bash
@@ -128,10 +128,11 @@ Use a multi-key listener when you want one service endpoint to aggregate traffic
128
128
129
129
With multi-key listeners, you must choose a strategy which determines how the traffic is distributed:
130
130
131
-
* priority - Uses the first routing key in list that is available for traffic. If the connector becomes unavailable, the listener matches with the next available routing key in list.
131
+
* priority - Uses the first routing key in list that is available for traffic. If the connectors for that routing key become unavailable, the listener matches with the next routing key in list.
132
132
* weighted - Uses the routing keys in proportion to the assigned weights. For example, if `backend1` is assigned 25 and `backend2` is assigned 75, then only a quarter of the TCP connections are directed to `backend1`.
133
133
134
-
Multi-key listeners provide predictable traffic distribution from the client side and typically are not influenced by link costs.
134
+
**📌 NOTE**
135
+
Multi-key listeners select between routing keys using the configured strategy. Each routing key may have multiple connectors, and link cost determines which connector is used within each routing key. The two mechanisms are independent.
135
136
136
137
For configuration details, see [MultiKeyListener resource][multikeylistener-resource].
137
138
@@ -146,7 +147,6 @@ For configuration details, see [MultiKeyListener resource][multikeylistener-reso
146
147
147
148
2. Determine which strategy is best for your use case. For example, failover is best achieved using the `priority` strategy.
148
149
149
-
150
150
3. Create a multi-key listener resource YAML file.
151
151
For example:
152
152
```yaml
@@ -163,8 +163,8 @@ For configuration details, see [MultiKeyListener resource][multikeylistener-reso
163
163
east-backend: 1
164
164
west-backend: 1
165
165
```
166
-
This creates a listener named `mkl-backend` that exposes a single endpoint on port 9092 and distributes traffic evenly across the `east-backend` and `west-backend` routing keys.
167
-
166
+
This creates a listener named `mkl-backend` that exposes a single endpoint on port 9092 and distributes traffic evenly between the `east-backend` and `west-backend` routing keys. Each routing key may have multiple connectors; link cost determines which connector is used within each routing key.
167
+
168
168
To prefer one routing key first and fall back to another, use the `priority` strategy:
169
169
```yaml
170
170
apiVersion: skupper.io/v2alpha1
@@ -180,13 +180,10 @@ For configuration details, see [MultiKeyListener resource][multikeylistener-reso
180
180
- east-backend-http
181
181
- west-backend-http
182
182
```
183
-
184
183
To create the multi-key listener resource:
185
-
186
184
```bash
187
185
kubectl apply -f <filename>
188
186
```
189
-
190
187
where `<filename>` is the name of a YAML file that is saved on your local filesystem.
0 commit comments