Control Plane Agents
services | ports | Protocol |
---|---|---|
QCMP | 7600 | UDP(IPv4 OR IPv6) |
Note: This service is currently in active experimentation and development so there may be bugs which cause it to be unusable for production, as always all bug reports are welcome and appreciated.
For multi-cluster integration, Quilkin provides a agent
service, that can be
deployed to a cluster to act as a beacon for QCMP pings and forward cluster
configuration information to a relay
service
Agent configuration and functionality matches that of Control Plane Providers, such as Filesystem and Agones.
To view all options for the agent
subcommand, run:
$ quilkin agent --help
Runs Quilkin as a relay service that runs a Manager Discovery Service (mDS) for accepting cluster and configuration information from xDS management services, and exposing it as a single merged xDS service for proxy services
Usage: quilkin agent [OPTIONS] [COMMAND]
Commands:
agones Watches Agones' game server CRDs for `Allocated` game server endpoints, and for a `ConfigMap` that specifies the filter configuration
file Watches for changes to the file located at `path`
help Print this message or the help of the given subcommand(s)
Options:
-q, --qcmp-port <QCMP_PORT>
Port for QCMP service [env: QCMP_PORT=] [default: 7600]
-r, --relay <RELAY>
One or more `quilkin relay` endpoints to push configuration changes to [env: QUILKIN_MANAGEMENT_SERVER=]
--region <REGION>
The `region` to set in the cluster map for any provider endpoints discovered [env: QUILKIN_REGION=]
--zone <ZONE>
The `zone` in the `region` to set in the cluster map for any provider endpoints discovered [env: QUILKIN_ZONE=]
--sub-zone <SUB_ZONE>
The `sub_zone` in the `zone` in the `region` to set in the cluster map for any provider endpoints discovered [env: QUILKIN_SUB_ZONE=]
--idle-request-interval-secs <IDLE_REQUEST_INTERVAL_SECS>
The interval in seconds at which the agent will wait for a discovery request from a relay server before restarting the connection [env: QUILKIN_IDLE_REQUEST_INTERVAL_SECS=] [default: 30]
-h, --help
Print help
Each sub-control planes (
file
,agones
, etc) matches thequilkin manage
providers capabilities. Have a look at each of the Control Plane > Providers documentation for integration details.
Quickstart
The simplest version of the agent
service is just running quilkin agent
,
this will setup just the QCMP service allowing the agent to be pinged for
measuring round-time-trips (RTT).
quilkin agent
To run an agent with the relay (see relay
quickstart
for more information), you just need to specify the relay endpoint with the
--relay
flag and provide a configuration discovery provider such as a
configuration file or Agones.
quilkin --admin-adress http://localhost:8001 agent --relay http://localhost:7900 file quilkin.yaml
Now if we run cURL on both the relay and the control plane we should see that they both contain the same set of endpoints.
# Check Agent
curl localhost:8001/config
# Check Relay
curl localhost:8000/config