# kg `kg` is the Kilo agent that runs on every Kubernetes node in a Kilo mesh. It performs several key functions, including: * adding the node to the Kilo mesh; * installing CNI configuration on the node; * configuring the WireGuard network interface; and * maintaining routing table entries and iptables rules. `kg` is typically installed on all nodes of a Kubernetes cluster using a DaemonSet. Example manifests can be found [in the manifests directory](https://github.com/squat/kilo/tree/master/manifests). ## Usage The behavior of `kg` can be configured using the command line flags listed below. [embedmd]:# (../tmp/help.txt) ```txt Usage of bin/amd64/kg: -backend string The backend for the mesh. Possible values: kubernetes (default "kubernetes") -clean-up-interface Should Kilo delete its interface when it shuts down? -cni Should Kilo manage the node's CNI configuration? (default true) -cni-path string Path to CNI config. (default "/etc/cni/net.d/10-kilo.conflist") -compatibility string Should Kilo run in compatibility mode? Possible values: flannel -encapsulate string When should Kilo encapsulate packets within a location? Possible values: never, crosssubnet, always (default "always") -hostname string Hostname of the node on which this process is running. -interface string Name of the Kilo interface to use; if it does not exist, it will be created. (default "kilo0") -kubeconfig string Path to kubeconfig. -listen string The address at which to listen for health and metrics. (default ":1107") -local Should Kilo manage routes within a location? (default true) -log-level string Log level to use. Possible values: all, debug, info, warn, error, none (default "info") -master string The address of the Kubernetes API server (overrides any value in kubeconfig). -mesh-granularity string The granularity of the network mesh to create. Possible values: location, full (default "location") -port uint The port over which WireGuard peers should communicate. (default 51820) -subnet string CIDR from which to allocate addresses for WireGuard interfaces. (default "10.4.0.0/16") -version ```