Etcd is a "Distributed reliable key-value store for the most critical data of a distributed system". Kubernetes uses Etcd to store state about the cluster and service discovery between nodes. This state includes what nodes exist in the cluster, which nodes they are running on and what containers should be running.
CoreOS includes an Etcd2 deployment. You can check it's running using
To deploy you need to create a systemd configuration file, similar to the one used by
The binary can be downloaded from https://github.com/coreos/etcd/releases
In production you would want to run etcd on three separate machines to ensure maximum availability.