mirror of
https://github.com/coredns/coredns.git
synced 2025-12-09 03:45:11 -05:00
@@ -6,14 +6,13 @@ Repos used:
|
||||
: implements control plane, has testing stuff in pkg/test/main (iirc).
|
||||
|
||||
<https://github.com/grpc/grpc-go/tree/master/xds/internal/client>
|
||||
: implements client for xDS - can probably list all code out from there.
|
||||
: implements client for xDS - much of this code has been reused here.
|
||||
|
||||
To see if things are working start the testing control plane from go-control-plane:
|
||||
|
||||
https://github.com/envoyproxy/envoy/blob/master/api/API_OVERVIEW.md
|
||||
|
||||
https://github.com/envoyproxy/learnenvoy/blob/master/_articles/service-discovery.md
|
||||
|
||||
* https://github.com/envoyproxy/envoy/blob/master/api/API_OVERVIEW.md
|
||||
* https://github.com/envoyproxy/learnenvoy/blob/master/_articles/service-discovery.md
|
||||
* This was really helpful: https://www.envoyproxy.io/docs/envoy/v1.11.2/api-docs/xds_protocol
|
||||
|
||||
Cluster: A cluster is a group of logically similar endpoints that Envoy connects to. In v2, RDS
|
||||
routes points to clusters, CDS provides cluster configuration and Envoy discovers the cluster
|
||||
@@ -22,19 +21,25 @@ members via EDS.
|
||||
# Testing
|
||||
|
||||
~~~ sh
|
||||
$ cd ~/src/github.com/envoyproxy/go-control-plane
|
||||
% make integration.xds
|
||||
% cd ~/src/github.com/envoyproxy/go-control-plane/pkg/test/main
|
||||
% go build
|
||||
% ./main --xds=ads --runtimes=2 -debug
|
||||
~~~
|
||||
|
||||
This runs a binary from pkg/test/main. Now we're testing aDS.
|
||||
This runs a binary from pkg/test/main. Now we're testing aDS. Everything is using gRPC with TLS,
|
||||
`grpc.WithInsecure()`. The binary runs on port 18000 on localhost; all these things are currently
|
||||
hardcoded in the *traffic* plugin. This will be factored out into config as some point.
|
||||
|
||||
The script stops, unless you have Envoy installed (which I haven't), but you can run it manually:
|
||||
Then for CoreDNS, check out the `traffic` branch, create a Corefile:
|
||||
|
||||
~~~ sh
|
||||
./bin/test --xds=ads --runtimes=2 -debug # for ads
|
||||
~~~ Corefile
|
||||
example.org {
|
||||
traffic
|
||||
debug
|
||||
}
|
||||
~~~
|
||||
|
||||
This fails with `timeout waiting for the first request`, means you're consumer wasn't quick enough
|
||||
in asking for xDS assignments.
|
||||
Start CoreDNS, and see logging/debugging flow by; the test binary should also spew out a bunch of
|
||||
things. CoreDNS willl build up a list of cluster and endpoints. Next you can query it.
|
||||
|
||||
Use insecure.
|
||||
TODO
|
||||
|
||||
Reference in New Issue
Block a user