2016-04-22 01:20:07 +03:00
# Documentation
etcd is a distributed key-value store designed to reliably and quickly preserve and provide access to critical data. It enables reliable distributed coordination through distributed locking, leader elections, and write barriers. An etcd cluster is intended for high availability and permanent data storage and retrieval.
## Getting started
2016-06-24 03:25:38 +03:00
New etcd users and developers should get started by [downloading and building][download_build] etcd. After getting etcd, follow this [quick demo][demo] to see the basics of creating and working with an etcd cluster.
2016-04-22 01:20:07 +03:00
## Developing with etcd
2016-06-24 03:25:38 +03:00
The easiest way to get started using etcd as a distributed key-value store is to [set up a local cluster][local_cluster].
2016-04-22 01:20:07 +03:00
2016-04-23 02:55:00 +03:00
- [Setting up local clusters][local_cluster]
- [Interacting with etcd][interacting]
2017-04-10 23:45:56 +03:00
- gRPC [etcd core][api_ref] and [etcd concurrency][api_concurrency_ref] API references
2017-01-22 21:50:02 +03:00
- [HTTP JSON API through the gRPC gateway][api_grpc_gateway]
2016-10-12 19:57:36 +03:00
- [gRPC naming and discovery][grpc_naming]
2017-03-21 22:15:07 +03:00
- [Client][namespace_client] and [proxy][namespace_proxy] namespacing
2016-07-13 23:28:11 +03:00
- [Embedding etcd][embed_etcd]
2016-06-24 20:10:08 +03:00
- [Experimental features and APIs][experimental]
2016-12-16 02:12:04 +03:00
- [System limits][system-limit]
2016-04-22 01:20:07 +03:00
## Operating etcd clusters
2017-07-12 19:26:05 +03:00
Administrators who need a fault-tolerant etcd cluster for either development or production should begin with a [cluster on multiple machines][clustering].
2016-04-22 01:20:07 +03:00
2017-07-12 19:26:05 +03:00
### Setting up etcd
- [Configuration flags][conf]
- [Multi-member cluster][clustering]
- [gRPC proxy][grpc_proxy]
- [L4 gateway][gateway]
### System configuration
- [Supported systems][supported_platforms]
2016-12-13 22:13:57 +03:00
- [Hardware recommendations][hardware]
2017-07-12 19:26:05 +03:00
- [Performance benchmarking][performance]
- [Tuning][tuning]
2017-04-12 20:34:47 +03:00
### Platform guides
- [Amazon Web Services][aws_platform]
2017-07-12 19:26:05 +03:00
- [Container Linux, systemd][container_linux_platform]
2017-04-12 20:34:47 +03:00
- [FreeBSD][freebsd_platform]
2017-07-12 19:26:05 +03:00
- [Docker container][container_docker]
- [rkt container][container_rkt]
### Security
- [TLS][security]
- [Role-based access control][authentication]
### Maintenance and troubleshooting
- [Frequently asked questions][faq]
- [Monitoring][monitoring]
- [Maintenance][maintenance]
- [Failure modes][failures]
- [Disaster recovery][recovery]
2017-07-20 21:05:05 +03:00
- [Upgrading][upgrading]
2016-04-22 01:20:07 +03:00
## Learning
2016-04-25 20:58:25 +03:00
To learn more about the concepts and internals behind etcd, read the following pages:
2016-04-22 01:20:07 +03:00
2017-04-08 00:43:58 +03:00
- [Why etcd?][why]
2016-06-21 20:49:46 +03:00
- [Understand data model][data_model]
- [Understand APIs][understand_apis]
2016-04-23 02:55:00 +03:00
- [Glossary][glossary]
2017-03-27 21:40:08 +03:00
- Internals
- [Auth subsystem][auth_design]
2016-04-22 01:20:07 +03:00
2016-04-23 02:55:00 +03:00
[api_ref]: dev-guide/api_reference_v3.md
2017-04-10 23:45:56 +03:00
[api_concurrency_ref]: dev-guide/api_concurrency_reference_v3.md
2016-06-18 01:01:33 +03:00
[api_grpc_gateway]: dev-guide/api_grpc_gateway.md
2016-04-25 04:25:04 +03:00
[clustering]: op-guide/clustering.md
[conf]: op-guide/configuration.md
2016-12-16 02:12:04 +03:00
[system-limit]: dev-guide/limit.md
2017-07-12 19:26:05 +03:00
[faq]: faq.md
2016-12-16 02:15:24 +03:00
[why]: learning/why.md
2016-06-21 20:49:46 +03:00
[data_model]: learning/data_model.md
2016-05-18 21:26:08 +03:00
[demo]: demo.md
2016-04-23 02:55:00 +03:00
[download_build]: dl_build.md
2016-07-14 02:24:56 +03:00
[embed_etcd]: https://godoc.org/github.com/coreos/etcd/embed
2016-10-12 19:57:36 +03:00
[grpc_naming]: dev-guide/grpc_naming.md
2016-05-31 22:03:24 +03:00
[failures]: op-guide/failures.md
2016-08-16 23:28:49 +03:00
[gateway]: op-guide/gateway.md
2016-04-23 02:55:00 +03:00
[glossary]: learning/glossary.md
2017-03-21 22:15:07 +03:00
[namespace_client]: https://godoc.org/github.com/coreos/etcd/clientv3/namespace
[namespace_proxy]: op-guide/grpc_proxy.md#namespacing
2016-10-11 20:50:40 +03:00
[grpc_proxy]: op-guide/grpc_proxy.md
2016-12-13 22:13:57 +03:00
[hardware]: op-guide/hardware.md
2016-04-23 02:55:00 +03:00
[interacting]: dev-guide/interacting_v3.md
[local_cluster]: dev-guide/local_cluster.md
2016-05-06 00:31:50 +03:00
[performance]: op-guide/performance.md
2016-04-25 04:25:04 +03:00
[recovery]: op-guide/recovery.md
[maintenance]: op-guide/maintenance.md
2016-04-25 23:54:10 +03:00
[security]: op-guide/security.md
2016-11-12 02:00:50 +03:00
[monitoring]: op-guide/monitoring.md
2016-05-20 03:04:20 +03:00
[v2_migration]: op-guide/v2-migration.md
2017-04-12 20:34:47 +03:00
[container_rkt]: op-guide/container.md#rkt
[container_docker]: op-guide/container.md#docker
2016-06-21 20:49:46 +03:00
[understand_apis]: learning/api.md
2016-06-24 20:40:55 +03:00
[versioning]: op-guide/versioning.md
2017-04-12 20:34:47 +03:00
[supported_platforms]: op-guide/supported-platform.md
2017-05-19 19:54:09 +03:00
[container_linux_platform]: platforms/container-linux-systemd.md
2017-04-12 20:34:47 +03:00
[freebsd_platform]: platforms/freebsd.md
[aws_platform]: platforms/aws.md
2016-06-24 20:10:08 +03:00
[experimental]: dev-guide/experimental_apis.md
2017-03-17 08:47:39 +03:00
[authentication]: op-guide/authentication.md
2017-03-27 21:40:08 +03:00
[auth_design]: learning/auth_design.md
2017-07-12 19:26:05 +03:00
[tuning]: tuning.md
2017-07-20 21:05:05 +03:00
[upgrading]: upgrades/upgrading-etcd.md