<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>v3.4 docs on etcd</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/</link><description>Recent content in v3.4 docs on etcd</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/index.xml" rel="self" type="application/rss+xml"/><item><title>Quickstart</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/quickstart/</guid><description>&lt;p&gt;Follow these instructions to locally install, run, and test a single-member
cluster of etcd:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install etcd from pre-built binaries or from source. For details, see
&lt;a href="../install/"&gt;Install&lt;/a&gt;.&lt;/p&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;: Ensure that you perform the last
step of the installation instructions to verify that &lt;code&gt;etcd&lt;/code&gt; is in your path.
&lt;/div&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;
&lt;p&gt;Launch &lt;code&gt;etcd&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902"&gt;$&lt;/span&gt; etcd --logger&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;zap
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;{&amp;#34;level&amp;#34;:&amp;#34;info&amp;#34;,&amp;#34;ts&amp;#34;:&amp;#34;2021-09-20T08:19:31.340-0400&amp;#34;,&amp;#34;caller&amp;#34;:&amp;#34;etcdmain/etcd.go:110&amp;#34;,&amp;#34;msg&amp;#34;:... }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-style:italic"&gt;⋮
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="alert alert-info" role="alert"&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The output produced by &lt;code&gt;etcd&lt;/code&gt; are
&lt;a href="../op-guide/configuration/#logging-flags"&gt;logs&lt;/a&gt; — info-level logs can
be ignored. &lt;/div&gt;&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;
&lt;p&gt;From &lt;strong&gt;another terminal&lt;/strong&gt;, use &lt;code&gt;etcdctl&lt;/code&gt; to set a key:&lt;/p&gt;</description></item><item><title>Overview</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/rfc/v3api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/rfc/v3api/</guid><description>&lt;p&gt;The etcd v3 API is designed to give users a more efficient and cleaner abstraction compared to etcd v2. There are a number of semantic and protocol changes in this new API.&lt;/p&gt;
&lt;p&gt;To prove out the design of the v3 API the team has also built &lt;a href="https://github.com/etcd-io/etcd/tree/v3.4.37/contrib/recipes" target="_blank" rel="noopener"&gt;a number of example recipes&lt;/a&gt;, there is a &lt;a href="https://www.youtube.com/watch?v=fj-2RY-3yVU&amp;amp;feature=youtu.be&amp;amp;t=590" target="_blank" rel="noopener"&gt;video discussing these recipes too&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="design"&gt;Design&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Flatten binary key-value space&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Keep the event history until compaction&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;access to old version of keys&lt;/li&gt;
&lt;li&gt;user controlled history compaction&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support range query&lt;/p&gt;</description></item><item><title>Demo</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/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;p&gt;&lt;img src="https://storage.googleapis.com/etcd/demo/01_etcd_clustering_2016051001.gif" alt="01_etcd_clustering_2016050601"&gt;&lt;/p&gt;
&lt;p&gt;On each etcd node, specify the cluster members:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;TOKEN&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;token-01
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;new
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;NAME_1&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;machine-1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;NAME_2&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;machine-2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;NAME_3&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;machine-3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;HOST_1&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;10.240.0.17
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;HOST_2&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;10.240.0.18
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;HOST_3&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;10.240.0.19
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;CLUSTER&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;NAME_1&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;HOST_1&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2380,&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;NAME_2&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;HOST_2&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2380,&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;NAME_3&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;HOST_3&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2380
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Run this on each machine:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# For machine 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;THIS_NAME&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;NAME_1&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;HOST_1&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcd --data-dir&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;data.etcd --name &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_NAME&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--initial-advertise-peer-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2380 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--advertise-client-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2379 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--initial-cluster &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;CLUSTER&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--initial-cluster-state &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;TOKEN&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# For machine 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;THIS_NAME&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;NAME_2&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;HOST_2&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcd --data-dir&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;data.etcd --name &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_NAME&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--initial-advertise-peer-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2380 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--advertise-client-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2379 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--initial-cluster &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;CLUSTER&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--initial-cluster-state &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;TOKEN&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# For machine 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;THIS_NAME&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;NAME_3&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;HOST_3&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcd --data-dir&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;data.etcd --name &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_NAME&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--initial-advertise-peer-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2380 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--advertise-client-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;THIS_IP&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;:2379 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--initial-cluster &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;CLUSTER&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--initial-cluster-state &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span style="color:#4e9a06"&gt;${&lt;/span&gt;&lt;span style="color:#000"&gt;TOKEN&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or use our public discovery service:&lt;/p&gt;</description></item><item><title>Install</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/install/</guid><description>&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;Before installing etcd, see the following pages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/op-guide/supported-platform/"&gt;Supported platforms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/op-guide/hardware/"&gt;Hardware recommendations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="install-pre-built-binaries"&gt;Install pre-built binaries&lt;/h2&gt;
&lt;p&gt;The easiest way to install etcd is from pre-built binaries:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download the compressed archive file for your platform from &lt;a href="https://github.com/etcd-io/etcd/releases/" target="_blank" rel="noopener"&gt;Releases&lt;/a&gt;,
choosing release &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.4.37" target="_blank" rel="noopener"&gt;v3.4.37&lt;/a&gt; or later.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Unpack the archive file. This results in a directory containing the binaries.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the executable binaries to your path. For example, rename and/or move
the binaries to a directory in your path (like &lt;code&gt;/usr/local/bin&lt;/code&gt;), or add the
directory created by the previous step to your path.&lt;/p&gt;</description></item><item><title>FAQ</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/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>How to migrate etcd from v2store to v3store</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/how-to-migrate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/how-to-migrate/</guid><description>&lt;p&gt;&lt;code&gt;migrate&lt;/code&gt; to transform etcd v2store to v3store.&lt;/p&gt;
&lt;p&gt;Learn more about the difference between the &lt;a href="https://etcd.io/docs/v3.6/learning/data_model/" target="_blank" rel="noopener"&gt;etcd data storage format&lt;/a&gt; and the &lt;a href="https://etcd.io/docs/v3.6/op-guide/versioning/" target="_blank" rel="noopener"&gt;etcd versioning&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;etcd v2.Y releases store data in the v2store, which supports the legacy API v2. When upgrading to etcd v3.Y releases, the cluster may continue to carry this v2store data until it is explicitly migrated into the newer v3store, which is required for full API v3 support and long-term compatibility.&lt;/p&gt;
&lt;p&gt;This document focus on how to migrate existing data from the v2store to the v3store. For a detailed guideline of migrating from API v2 to API v3, please refer to &lt;a href="https://etcd.io/docs/v3.4/op-guide/v2-migration/" target="_blank" rel="noopener"&gt;Migrate applications from using API v2 to API v3&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Libraries and tools</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/integrations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/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://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://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://etcdmanager.io" target="_blank" rel="noopener"&gt;etcd-manager&lt;/a&gt; - A modern, efficient, multi-platform and free etcd 3.x GUI &amp;amp; client tool. Available for Windows, Linux and Mac.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-backup-restore" target="_blank" rel="noopener"&gt;etcd-backup-restore&lt;/a&gt; - Utility to periodically and incrementally backup and restore the etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-druid" target="_blank" rel="noopener"&gt;etcd-druid&lt;/a&gt; - A Kubernetes operator to deploy etcd clusters and manage day-2 operations.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kubernetes-sigs/etcdadm" target="_blank" rel="noopener"&gt;etcdadm&lt;/a&gt; - A command-line tool for operating an etcd cluster.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tsonglew/intellij-etcdhelper" target="_blank" rel="noopener"&gt;etcdhelper&lt;/a&gt; - An intellij platform plugin for etcd.&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>Metrics</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/metrics/</guid><description>&lt;p&gt;etcd uses &lt;a href="https://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="https://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="https://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>Reporting bugs</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/reporting_bugs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/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.4/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/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><item><title>Discovery service protocol</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/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.4/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>Logging conventions</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.4/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></channel></rss>