When the Grey Matter Proxy connects to Grey Matter Control, it sends an announcement that identifies itself to the control plane. This announcement information isolates nodes into zones, determine which configuration options go to which proxy instance, etc.
The service cluster defines what type of service this proxy is serving. Examples include:
This field is used by the control plane to group together all proxies that share the same
cluster so that they'll be properly routed and load-balanced as instances spin up or down.
The zone is the logical group that the proxy is running in. This can correlate to actual geographic regions, different slices of the network, or simply logical groups.
The node id is generally a unique identifier for this particular proxy instance, and can be used to take instance specific actions.
Using the Grey Matter Proxy, you can set the announcement info most easily through the environment variables:
PROXY_DYNAMIC=true # To run in dynamic configuration mode XDS_CLUSTER=example-service XDS_ZONE=us-east-1 XDS_NODE_ID=an58xch3mf78
You can also set these environment variables directly at the command line when running the binary:
gm-proxy -c ./config.yaml \ --service-cluster=example-service \ --service-zone=us-east-1 \ --service-node=an58xch3mf78
You can also set each flag directly in the bootstrap config template in the node section, as shown below:
node: cluster: example-service id: n48xng&9#dsfd9 locality: zone: us-east-1