Skip to content

Commit e82ef33

Browse files
committed
Responding to comments
1 parent a0577de commit e82ef33

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

cilium/CFP-30235-xds-adapter.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
**SIG:** Agent
44

5-
**Begin Design Discussion:** 2023-01-03
5+
**Begin Design Discussion:** 2024-01-03
66

77
**Cilium Release:** 1.16
88

@@ -11,11 +11,12 @@
1111
## Summary
1212

1313
Add a new xDS adapter in Cilium that could take advantage of some of the
14-
strengths of xDS, particularly the feedback loop via LRS and the overall
15-
potential for scalability improvements when adjustments to routing
16-
configurations don't need to round trip through the Kubernetes API Server.
17-
This adapter would be an alternative source of endpoints and would not replace
18-
the existing default behavior of reading directly from Kubernetes APIs.
14+
strengths of xDS, particularly the feedback loop via [Load Reporting Service
15+
(LRS)](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_reporting_service)
16+
and the overall potential for scalability improvements when adjustments to
17+
routing configurations don't need to round trip through the Kubernetes API
18+
Server. This adapter would be an alternative source of endpoints and would not
19+
replace the existing default behavior of reading directly from Kubernetes APIs.
1920

2021
## Motivation
2122

@@ -129,9 +130,10 @@ order when more than one data source is connected. When any conflicts occur,
129130
for example if Services from different sources have the same IP, the following
130131
order will be used for precedence:
131132

132-
1. Kubernetes
133-
2. KVStore
134-
3. xDS
133+
1. Local API
134+
2. Kubernetes
135+
3. KVStore
136+
4. xDS
135137

136138
If there is interest, we may make this order configurable in a future
137139
enhancement.
@@ -191,10 +193,13 @@ Instead of building on top of existing xDS APIs, we could use a custom API on
191193
top of xDS-TP (xDS Transport Protocol). This would follow the pattern that
192194
Istio's Ztunnel project used when they developed
193195
[WDS](https://github.com/istio/ztunnel/blob/db0a74212c42c66b611a71a9613afb501074e257/proto/workload.proto).
194-
We could also just choose to send Cilium-specific protos over the wire.
196+
We could also just choose to send Cilium-specific protos over the wire. For
197+
example, we could use Cilium agent API JSON types encoded using the proto Struct
198+
type, such that the adapter would be responsible for unmarshalling it to the
199+
Cilium API Go types (via JSON).
195200

196201
#### Pros
197-
* Very flexible, can specify ~anything
202+
* Very flexible and extensible, can specify or add ~anything
198203
* Resulting API would likely be very focused on Cilium
199204

200205
#### Cons

0 commit comments

Comments
 (0)