<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tutorials on etcd</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/</link><description>Recent content in Tutorials on etcd</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/index.xml" rel="self" type="application/rss+xml"/><item><title>How to Set Up a Demo etcd Cluster</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-setup-cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-setup-cluster/</guid><description>&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>Reading from etcd</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/reading-from-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/reading-from-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Procedure&lt;/h2&gt;
&lt;p&gt;Use the &lt;code&gt;get&lt;/code&gt; subcommand to read from etcd:&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;$ etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;foo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Hello World!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; is the requested key&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Hello World!&lt;/code&gt; is the retrieved value&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Or, for formatted output:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ etcdctl --endpoints=$ENDPOINTS --write-out=&amp;#34;json&amp;#34; get foo
{&amp;#34;header&amp;#34;:{&amp;#34;cluster_id&amp;#34;:289318470931837780,&amp;#34;member_id&amp;#34;:14947050114012957595,&amp;#34;revision&amp;#34;:3,&amp;#34;raft_term&amp;#34;:4,
&amp;#34;kvs&amp;#34;:[{&amp;#34;key&amp;#34;:&amp;#34;Zm9v&amp;#34;,&amp;#34;create_revision&amp;#34;:2,&amp;#34;mod_revision&amp;#34;:3,&amp;#34;version&amp;#34;:2,&amp;#34;value&amp;#34;:&amp;#34;SGVsbG8gV29ybGQh&amp;#34;}]}}
$
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;where &lt;code&gt;write-out=&amp;quot;json&amp;quot;&lt;/code&gt; causes the value to be output in JSON format (note that the key is not returned).&lt;/p&gt;</description></item><item><title>Writing to etcd</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/writing-to-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/writing-to-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Procedure&lt;/h2&gt;
&lt;p&gt;Use the &lt;code&gt;put&lt;/code&gt; subcommand to write a key-value pair:&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;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put foo &lt;span style="color:#4e9a06"&gt;&amp;#34;Hello World!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; is the key name&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;Hello World!&amp;quot;&lt;/code&gt; is the quote-delimited value&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>How to get keys by prefix</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-get-key-by-prefix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-get-key-by-prefix/</guid><description>&lt;h2 id="pre-requisites"&gt;Pre-requisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://etcd.io/docs/v3.5/install/" target="_blank" rel="noopener"&gt;Install etcdctl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcd.io/docs/v3.5/dev-guide/local_cluster/" target="_blank" rel="noopener"&gt;Setup a local cluster&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="get-keys-by-prefix"&gt;Get keys by prefix&lt;/h2&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; get PREFIX --prefix
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="global-options"&gt;Global Options&lt;/h3&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;, gRPC endpoints
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Options&lt;/h3&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--prefix, get a range of keys with matching prefix
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Example&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://storage.googleapis.com/etcd/demo/03_etcdctl_get_by_prefix_2016050501.gif" alt="03_etcdctl_get_by_prefix_2016050501"&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-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put web1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put web2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put web3 value3
&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;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; get web --prefix
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to delete keys</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-delete-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-delete-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://etcd.io/docs/v3.5/install/" target="_blank" rel="noopener"&gt;&lt;code&gt;etcd&lt;/code&gt; and &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="add-or-delete-keys"&gt;Add or delete keys&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;del&lt;/code&gt; to remove the specified key or range of keys:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl del &lt;span style="color:#000"&gt;$KEY&lt;/span&gt; &lt;span style="color:#ce5c00;font-weight:bold"&gt;[&lt;/span&gt;&lt;span style="color:#000"&gt;$END_KEY&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Options&lt;/h3&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--prefix&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: delete keys with matching prefix
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--prev-kv&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: &lt;span style="color:#204a87;font-weight:bold"&gt;return&lt;/span&gt; deleted key-value pairs
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--from-key&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: delete keys that are greater than or equal to the given key using byte compare
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--range&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: delete range of keys without delay
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Options inherited from parent commands&lt;/h3&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;127.0.0.1:2379&amp;#34;&lt;/span&gt;: gRPC endpoints
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="examples"&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://storage.googleapis.com/etcd/demo/04_etcdctl_delete_2016050601.gif" alt="04_etcdctl_delete_2016050601"&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-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put key myvalue
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; del key
&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;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put k1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put k2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; del k --prefix
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to make multiple writes in a transaction</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-transactional-write/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-transactional-write/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://etcd.io/docs/v3.5/install/" target="_blank" rel="noopener"&gt;&lt;code&gt;etcd&lt;/code&gt; and &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A running &lt;code&gt;etcd&lt;/code&gt; cluster.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="terminology"&gt;Terminology&lt;/h2&gt;
&lt;p&gt;Here are definations of some key terms used in the &lt;a href="#example"&gt;Example&lt;/a&gt; below.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Terms&lt;/th&gt;
 &lt;th&gt;Defination&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#etcdctl" target="_blank" rel="noopener"&gt;etcdctl&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;The command line tool for interacting with the etcd server.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#txn-options" target="_blank" rel="noopener"&gt;&lt;code&gt;txn&lt;/code&gt;&lt;/a&gt; command&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;txn&lt;/code&gt; command is an abbreviation for &amp;ldquo;transaction&amp;rdquo;. It reads multiple etcd requests from standard input and applies them as a single atomic transaction. A transaction consists of list of conditions, a list of requests to apply if all the conditions are true, and a list of requests to apply if any condition is false. View &lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#key-value-commands" target="_blank" rel="noopener"&gt;etcdctl key-value commands&lt;/a&gt; for more information.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;compare&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;The &lt;code&gt;compare&lt;/code&gt; clause within a transaction (&lt;code&gt;txn&lt;/code&gt;) serves as a conditional check that determines whether the transaction&amp;rsquo;s operations should proceed. It ensures changes are only applied if the current state of the key-value store matches expected conditions, thereby maintaining data consistency and preventing conflicts in concurrent environments. To see how the command is structured, view &lt;a href="#2-perform-a-transaction"&gt;Perform a transaction&lt;/a&gt; section below.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="transactions"&gt;Transactions&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;txn&lt;/code&gt; to process all the requests in one transaction:&lt;/p&gt;</description></item><item><title>How to watch keys</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-watch-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-watch-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://etcd.io/docs/v3.5/install/" target="_blank" rel="noopener"&gt;&lt;code&gt;etcd&lt;/code&gt; and &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="watching-keys"&gt;Watching keys&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;watch&lt;/code&gt; to get notified of future changes:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl watch &lt;span style="color:#000"&gt;$KEY&lt;/span&gt; &lt;span style="color:#ce5c00;font-weight:bold"&gt;[&lt;/span&gt;&lt;span style="color:#000"&gt;$END_KEY&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Options&lt;/h3&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-i, --interactive&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: interactive mode
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--prefix&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: watch on a prefix &lt;span style="color:#204a87;font-weight:bold"&gt;if&lt;/span&gt; prefix is &lt;span style="color:#204a87"&gt;set&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--rev&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;0: Revision to start watching
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--prev-kv&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: get the previous key-value pair before the event happens
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--progress-notify&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: get periodic watch progress notification from server
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Options inherited from parent commands&lt;/h3&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#4e9a06"&gt;&amp;#34;127.0.0.1:2379&amp;#34;&lt;/span&gt;: gRPC endpoints
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="examples"&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://storage.googleapis.com/etcd/demo/06_etcdctl_watch_2016050501.gif" alt="06_etcdctl_watch_2016050501"&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-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; watch stock1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put stock1 &lt;span style="color:#0000cf;font-weight:bold"&gt;1000&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;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; watch stock --prefix
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put stock1 &lt;span style="color:#0000cf;font-weight:bold"&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put stock2 &lt;span style="color:#0000cf;font-weight:bold"&gt;20&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to create lease</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-create-lease/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-create-lease/</guid><description>&lt;p&gt;&lt;code&gt;lease&lt;/code&gt; to write with TTL:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://storage.googleapis.com/etcd/demo/07_etcdctl_lease_2016050501.gif" alt="07_etcdctl_lease_2016050501"&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-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; lease grant &lt;span style="color:#0000cf;font-weight:bold"&gt;300&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;# lease 2be7547fbc6a5afa granted with TTL(300s)&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;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; put sample value --lease&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; get sample
&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;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; lease keep-alive 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; lease revoke 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# or after 300 seconds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; get sample
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to create locks</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-create-locks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-create-locks/</guid><description>&lt;p&gt;&lt;code&gt;lock&lt;/code&gt; for distributed lock:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://storage.googleapis.com/etcd/demo/08_etcdctl_lock_2016050501.gif" alt="08_etcdctl_lock_2016050501"&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-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; lock mutex1
&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;# another client with the same name blocks&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; lock mutex1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to conduct leader election in etcd cluster</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-conduct-elections/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-conduct-elections/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ensure &lt;a href="https://etcd.io/docs/v3.5/install/" target="_blank" rel="noopener"&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://etcd.io/docs/v3.5/install/" target="_blank" rel="noopener"&gt;&lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt; is installed.&lt;/li&gt;
&lt;li&gt;Check for active etcd cluster.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="conduct-leader-election"&gt;Conduct Leader election&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;etcdctl&lt;/code&gt; command is used to conduct leader elections in an etcd cluster. It makes sure that only one client can become leader at a time.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;etcdctl --endpoints=$ENDPOINTS elect &amp;lt;election-name&amp;gt; [proposal]&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-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; elect election-name p1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Options&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--endpoints : $ENDPOINTS&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Address of each etcd cluster members.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;election-name&lt;/code&gt; string&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A string identifier for the election. All participants competing for leadership must use the same election name.&lt;/p&gt;</description></item><item><title>How to check Cluster status</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-check-cluster-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-check-cluster-status/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://etcd.io/docs/v3.6/install/" target="_blank" rel="noopener"&gt;&lt;code&gt;etcd&lt;/code&gt; and &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="check-overall-status"&gt;Check Overall Status&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint status&lt;/code&gt; to check the overall status of each endpoint specified in &lt;code&gt;--endpoints&lt;/code&gt; flag:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl endpoint status &lt;span style="color:#ce5c00;font-weight:bold"&gt;(&lt;/span&gt;--endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt;--cluster&lt;span style="color:#ce5c00;font-weight:bold"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Options&lt;/h3&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--cluster&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: use all endpoints from the cluster member list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="check-health"&gt;Check Health&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint health&lt;/code&gt; to check the healthiness of each endpoint specified in &lt;code&gt;--endpoints&lt;/code&gt; flag:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl endpoint health &lt;span style="color:#ce5c00;font-weight:bold"&gt;(&lt;/span&gt;--endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt;&lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt;--cluster&lt;span style="color:#ce5c00;font-weight:bold"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-1"&gt;Options&lt;/h3&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--cluster&lt;span style="color:#ce5c00;font-weight:bold"&gt;[=&lt;/span&gt;false&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;: use all endpoints from the cluster member list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="check-kv-hash"&gt;Check KV Hash&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint hashkv&lt;/code&gt; to check the KV history hash of each endpoint specified in &lt;code&gt;--endpoints&lt;/code&gt; flag:&lt;/p&gt;</description></item><item><title>How to save the database</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-save-database/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-save-database/</guid><description>&lt;h2 id="pre-requisites"&gt;Pre-requisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://etcd.io/docs/v3.5/install/" target="_blank" rel="noopener"&gt;Install etcdctl, etcdutl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcd.io/docs/v3.5/dev-guide/local_cluster/" target="_blank" rel="noopener"&gt;Setup a local cluster&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="snapshot-a-database"&gt;Snapshot a database&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;snapshot&lt;/code&gt; to save point-in-time snapshot of etcd database:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINT&lt;/span&gt; snapshot save DB_NAME
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="global-options"&gt;Global Options&lt;/h3&gt;
&lt;h4 id="etcdctl"&gt;etcdctl&lt;/h4&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span style="color:#ce5c00;font-weight:bold"&gt;]&lt;/span&gt;, gRPC endpoints
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Snapshot can only be requested from one etcd node, so &lt;code&gt;--endpoints&lt;/code&gt; flag should contain only one endpoint.&lt;/p&gt;
&lt;h4 id="etcdutl"&gt;etcdutl&lt;/h4&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-w, --write-out string &lt;span style="color:#204a87"&gt;set&lt;/span&gt; the output format &lt;span style="color:#ce5c00;font-weight:bold"&gt;(&lt;/span&gt;fields, json, protobuf, simple, table&lt;span style="color:#ce5c00;font-weight:bold"&gt;)&lt;/span&gt; &lt;span style="color:#ce5c00;font-weight:bold"&gt;(&lt;/span&gt;default &lt;span style="color:#4e9a06"&gt;&amp;#34;simple&amp;#34;&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Example&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://storage.googleapis.com/etcd/demo/11_etcdctl_snapshot_2016051001.gif" alt="11_etcdctl_snapshot_2016051001"&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-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000"&gt;ENDPOINTS&lt;/span&gt;&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$HOST_1&lt;/span&gt;:2379
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;etcdctl --endpoints&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#000"&gt;$ENDPOINTS&lt;/span&gt; snapshot save my.db
&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;Snapshot saved at my.db
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&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;etcdutl --write-out&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;table snapshot status my.db
&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&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt; HASH &lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt; REVISION &lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt; TOTAL KEYS &lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt; TOTAL SIZE &lt;span style="color:#000;font-weight:bold"&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:#000;font-weight:bold"&gt;|&lt;/span&gt; c55e8b8 &lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt; &lt;span style="color:#0000cf;font-weight:bold"&gt;9&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt; &lt;span style="color:#0000cf;font-weight:bold"&gt;13&lt;/span&gt; &lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt; &lt;span style="color:#0000cf;font-weight:bold"&gt;25&lt;/span&gt; kB &lt;span style="color:#000;font-weight:bold"&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>How to Add and Remove Members</title><link>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-deal-with-membership/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-1113--etcd.netlify.app/docs/v3.5/tutorials/how-to-deal-with-membership/</guid><description>&lt;p&gt;&lt;code&gt;member&lt;/code&gt; to add,remove,update membership:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://storage.googleapis.com/etcd/demo/13_etcdctl_member_2016062301.gif" alt="13_etcdctl_member_2016062301"&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-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8f5902;font-style:italic"&gt;# For each machine&lt;/span&gt;
&lt;/span&gt;&lt;/span&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;my-etcd-token-1
&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;etcd-node-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;etcd-node-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;etcd-node-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.13
&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.14
&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.15
&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;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 node 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 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--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 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--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; &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-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 node 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 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--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 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--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; &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-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 node 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 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--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 &lt;span style="color:#4e9a06"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	--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; &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-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;Then replace a member with &lt;code&gt;member remove&lt;/code&gt; and &lt;code&gt;member add&lt;/code&gt; commands:&lt;/p&gt;</description></item></channel></rss>