Control Plane Agents
services | ports | Protocol |
---|---|---|
QCMP | 7600 | UDP(IPv4 OR IPv6) |
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=]
--address-type <ADDRESS_TYPE>
If specified, filters the available gameserver addresses to the one that matches the specified type
--ip-kind <IP_KIND>
If specified, additionally filters the gameserver address by its ip kind [possible values: v4, v6, any]
--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=]
-i, --icao-code <ICAO_CODE>
The ICAO code for the agent [env: ICAO_CODE=] [default: XXXX]
-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