Announce to Fabric

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.

Cluster

The service cluster defines what type of service this proxy is serving. Examples include:

  • example-service

  • user-service

  • data

  • catalog

  • etc.

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.

Zone

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.

Note: the zone that the proxy announces must match the --api.zone of the gm-control instance the proxy connects to. If these two are not in agreement, then the proxy is considered to be in a different zone and will receive no configuration.

Node ID

The node id is generally a unique identifier for this particular proxy instance, and can be used to take instance specific actions.

Note: this field is not currently used for any operations in the control plane. By default, each node will get a random ID, so it does not need to be set by the user.

Set Announcement Info

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

Questions

Last updated

Was this helpful?