It doesn’t require k8s — you run their agent binary on multiple hosts and they all get connected. You can deploy the same agent in k8s also if you want.
We use NATS to connect distributed hosts and manage distributed state (e.g. no etcd) so as long as you can connect the NATS servers you can run anywhere.