<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>v3.3 docs on etcd</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/</link><description>Recent content in v3.3 docs on etcd</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/index.xml" rel="self" type="application/rss+xml"/><item><title>Install</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/install/</guid><description>&lt;h2 id="system-requirements"&gt;System requirements&lt;/h2&gt;
&lt;p&gt;The etcd performance benchmarks run etcd on 8 vCPU, 16GB RAM, 50GB SSD GCE
instances, but any relatively modern machine with low latency storage and a few
gigabytes of memory should suffice for most use cases. Applications with large
v2 data stores will require more memory than a large v3 data store since data is
kept in anonymous memory instead of memory mapped from a file. For running etcd
on a cloud provider, see the &lt;a href="../op-guide/hardware#example-hardware-configurations"&gt;Example hardware
configuration&lt;/a&gt; documentation.&lt;/p&gt;</description></item><item><title>Metrics</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/metrics/</guid><description>&lt;p&gt;etcd uses &lt;a href="http://prometheus.io/" target="_blank" rel="noopener"&gt;Prometheus&lt;/a&gt; for metrics reporting. The metrics can be used for real-time monitoring and debugging. etcd does not persist its metrics; if a member restarts, the metrics will be reset.&lt;/p&gt;
&lt;p&gt;The simplest way to see the available metrics is to cURL the metrics endpoint &lt;code&gt;/metrics&lt;/code&gt;. The format is described &lt;a href="http://prometheus.io/docs/instrumenting/exposition_formats/" target="_blank" rel="noopener"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Follow the &lt;a href="http://prometheus.io/docs/introduction/getting_started/" target="_blank" rel="noopener"&gt;Prometheus getting started doc&lt;/a&gt; to spin up a Prometheus server to collect etcd metrics.&lt;/p&gt;
&lt;p&gt;The naming of metrics follows the suggested &lt;a href="http://prometheus.io/docs/practices/naming/" target="_blank" rel="noopener"&gt;Prometheus best practices&lt;/a&gt;. A metric name has an &lt;code&gt;etcd&lt;/code&gt; or &lt;code&gt;etcd_debugging&lt;/code&gt; prefix as its namespace and a subsystem prefix (for example &lt;code&gt;wal&lt;/code&gt; and &lt;code&gt;etcdserver&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Libraries and tools</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/integrations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/integrations/</guid><description>&lt;p&gt;Note that third-party libraries and tools (not hosted on &lt;a href="https://github.com/etcd-io" target="_blank" rel="noopener"&gt;etcd-io main repository&lt;/a&gt;) mentioned below are not tested or maintained by the etcd team. Before using them, users are recommended to read and investigate them.&lt;/p&gt;
&lt;h2 id="tools"&gt;Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/tree/master/etcdctl" target="_blank" rel="noopener"&gt;etcdctl&lt;/a&gt; - A command line client for etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20190113041300/https://github.com/fanhattan/etcd-backup" target="_blank" rel="noopener"&gt;etcd-backup&lt;/a&gt; - A powerful command line utility for dumping/restoring etcd - Supports v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://npmjs.org/package/etcd-dump" target="_blank" rel="noopener"&gt;etcd-dump&lt;/a&gt; - Command line utility for dumping/restoring etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/xetorthio/etcd-fs" target="_blank" rel="noopener"&gt;etcd-fs&lt;/a&gt; - FUSE filesystem for etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rekby/etcddir" target="_blank" rel="noopener"&gt;etcddir&lt;/a&gt; - Realtime sync etcd and local directory. Work with windows and linux.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/henszey/etcd-browser" target="_blank" rel="noopener"&gt;etcd-browser&lt;/a&gt; - A web-based key/value editor for etcd using AngularJS&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/datawisesystems/etcd-lock" target="_blank" rel="noopener"&gt;etcd-lock&lt;/a&gt; - Master election &amp;amp; distributed r/w lock implementation using etcd - Supports v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/matishsiao/etcd-console" target="_blank" rel="noopener"&gt;etcd-console&lt;/a&gt; - A web-base key/value editor for etcd using PHP&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nikfoundas/etcd-viewer" target="_blank" rel="noopener"&gt;etcd-viewer&lt;/a&gt; - An etcd key-value store editor/viewer written in Java&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mickep76/etcdtool" target="_blank" rel="noopener"&gt;etcdtool&lt;/a&gt; - Export/Import/Edit etcd directory as JSON/YAML/TOML and Validate directory using JSON schema&lt;/li&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20190113041300/https://github.com/mickep76/etcdrest" target="_blank" rel="noopener"&gt;etcd-rest&lt;/a&gt; - Create generic REST API in Go using etcd as a backend with validation using JSON schema&lt;/li&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20190113041250/https://github.com/kamilhark/etcdsh" target="_blank" rel="noopener"&gt;etcdsh&lt;/a&gt; - A command line client with support of command history and tab completion. Supports v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sinsharat/etcdloadtest" target="_blank" rel="noopener"&gt;etcdloadtest&lt;/a&gt; - A command line load test client for etcd version 3.0 and above.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ringtail/lucas" target="_blank" rel="noopener"&gt;lucas&lt;/a&gt; - A web-based key-value viewer for kubernetes etcd3.0+ cluster.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tzfun/etcd-workbench" target="_blank" rel="noopener"&gt;etcd-workbench&lt;/a&gt; - A free and powerful ui client for etcd v3. Provides desktop application and web packages.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="libraries"&gt;Libraries&lt;/h2&gt;
&lt;p&gt;The sections below list etcd client libraries by language.&lt;/p&gt;</description></item><item><title>Demo</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/demo/</guid><description>&lt;p&gt;This series of examples shows the basic procedures for working with an etcd cluster.&lt;/p&gt;
&lt;h2 id="set-up-a-cluster"&gt;Set up a cluster&lt;/h2&gt;
&lt;img src="https://storage.googleapis.com/etcd/demo/01_etcd_clustering_2016051001.gif" alt="01_etcd_clustering_2016050601"/&gt;
&lt;p&gt;On each etcd node, specify the cluster members:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;TOKEN=token-01
CLUSTER_STATE=new
NAME_1=machine-1
NAME_2=machine-2
NAME_3=machine-3
HOST_1=10.240.0.17
HOST_2=10.240.0.18
HOST_3=10.240.0.19
CLUSTER=${NAME_1}=http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:2380
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Run this on each machine:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# For machine 1
THIS_NAME=${NAME_1}
THIS_IP=${HOST_1}
etcd --data-dir=data.etcd --name ${THIS_NAME} \
	--initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \
	--advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \
	--initial-cluster ${CLUSTER} \
	--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}

# For machine 2
THIS_NAME=${NAME_2}
THIS_IP=${HOST_2}
etcd --data-dir=data.etcd --name ${THIS_NAME} \
	--initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \
	--advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \
	--initial-cluster ${CLUSTER} \
	--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}

# For machine 3
THIS_NAME=${NAME_3}
THIS_IP=${HOST_3}
etcd --data-dir=data.etcd --name ${THIS_NAME} \
	--initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \
	--advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://${THIS_IP}:2379 \
	--initial-cluster ${CLUSTER} \
	--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or use our public discovery service:&lt;/p&gt;</description></item><item><title>Discovery service protocol</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/dev-internal/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/dev-internal/discovery_protocol/</guid><description>&lt;p&gt;Discovery service protocol helps new etcd member to discover all other members in cluster bootstrap phase using a shared discovery URL.&lt;/p&gt;
&lt;p&gt;Discovery service protocol is &lt;em&gt;only&lt;/em&gt; used in cluster bootstrap phase, and cannot be used for runtime reconfiguration or cluster monitoring.&lt;/p&gt;
&lt;p&gt;The protocol uses a new discovery token to bootstrap one &lt;em&gt;unique&lt;/em&gt; etcd cluster. Remember that one discovery token can represent only one etcd cluster. As long as discovery protocol on this token starts, even if it fails halfway, it must not be used to bootstrap another etcd cluster.&lt;/p&gt;</description></item><item><title>Frequently Asked Questions (FAQ)</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/faq/</guid><description>&lt;h2 id="etcd-general"&gt;etcd, general&lt;/h2&gt;
&lt;h3 id="do-clients-have-to-send-requests-to-the-etcd-leader"&gt;Do clients have to send requests to the etcd leader?&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://raft.github.io/raft.pdf" target="_blank" rel="noopener"&gt;Raft&lt;/a&gt; is leader-based; the leader handles all client requests which need cluster consensus. However, the client does not need to know which node is the leader. Any request that requires consensus sent to a follower is automatically forwarded to the leader. Requests that do not require consensus (e.g., serialized reads) can be processed by any cluster member.&lt;/p&gt;
&lt;h2 id="configuration"&gt;Configuration&lt;/h2&gt;
&lt;h3 id="what-is-the-difference-between-listen-clientpeer-urls-advertise-client-urls-or-initial-advertise-peer-urls"&gt;What is the difference between listen-&amp;lt;client,peer&amp;gt;-urls, advertise-client-urls or initial-advertise-peer-urls?&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;listen-client-urls&lt;/code&gt; and &lt;code&gt;listen-peer-urls&lt;/code&gt; specify the local addresses etcd server binds to for accepting incoming connections. To listen on a port for all interfaces, specify &lt;code&gt;0.0.0.0&lt;/code&gt; as the listen IP address.&lt;/p&gt;</description></item><item><title>Logging conventions</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/dev-internal/logging/</guid><description>&lt;p&gt;etcd uses the &lt;a href="https://github.com/coreos/pkg/tree/master/capnslog" target="_blank" rel="noopener"&gt;capnslog&lt;/a&gt; library for logging application output categorized into &lt;em&gt;levels&lt;/em&gt;. A log message&amp;rsquo;s level is determined according to these conventions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Error: Data has been lost, a request has failed for a bad reason, or a required resource has been lost&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Examples:
&lt;ul&gt;
&lt;li&gt;A failure to allocate disk space for WAL&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Warning: (Hopefully) Temporary conditions that may cause errors, but may work fine. A replica disappearing (that may reconnect) is a warning.&lt;/p&gt;</description></item><item><title>Production users</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/production-users/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/production-users/</guid><description>&lt;p&gt;This document tracks people and use cases for etcd in production. By creating a list of production use cases we hope to build a community of advisors that we can reach out to with experience using various etcd applications, operation environments, and cluster sizes. The etcd development team may reach out periodically to check-in on how etcd is working in the field and update this list.&lt;/p&gt;
&lt;h2 id="all-kubernetes-users"&gt;All Kubernetes Users&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Application&lt;/em&gt;: &lt;a href="https://kubernetes.io/" target="_blank" rel="noopener"&gt;https://kubernetes.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Environments&lt;/em&gt;: AWS, OpenStack, Azure, Google Cloud, Huawei Cloud, Bare Metal, etc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;This is a meta user; please feel free to document specific Kubernetes clusters!&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Reporting bugs</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/reporting_bugs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/reporting_bugs/</guid><description>&lt;p&gt;If any part of the etcd project has bugs or documentation mistakes, please let us know by &lt;a href="https://github.com/etcd-io/etcd/issues/new" target="_blank" rel="noopener"&gt;opening an issue&lt;/a&gt;. We treat bugs and mistakes very seriously and believe no issue is too small. Before creating a bug report, please check that an issue reporting the same problem does not already exist.&lt;/p&gt;
&lt;p&gt;To make the bug report accurate and easy to understand, please try to create bug reports that are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Specific. Include as much details as possible: which version, what environment, what configuration, etc. If the bug is related to running the etcd server, please attach the etcd log (the starting log with etcd configuration is especially important).&lt;/p&gt;</description></item><item><title>Tuning</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.3/tuning/</guid><description>&lt;p&gt;The default settings in etcd should work well for installations on a local network where the average network latency is low. However, when using etcd across multiple data centers or over networks with high latency, the heartbeat interval and election timeout settings may need tuning.&lt;/p&gt;
&lt;p&gt;The network isn&amp;rsquo;t the only source of latency. Each request and response may be impacted by slow disks on both the leader and follower. Each of these timeouts represents the total time from request to successful response from the other machine.&lt;/p&gt;</description></item></channel></rss>