<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>etcd</title><link>https://andygol-etcd.netlify.app/uk/</link><description>Recent content on etcd</description><generator>Hugo</generator><language>uk</language><atom:link href="https://andygol-etcd.netlify.app/uk/index.xml" rel="self" type="application/rss+xml"/><item><title>Як налаштувати демонстраційний кластер etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-setup-cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/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;На кожному вузлі etcd вкажіть членів кластера:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;token-01
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.18
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.19
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Запустіть це на кожній машині:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Або використовуйте наш публічний сервіс виявлення:&lt;/p&gt;</description></item><item><title>Як налаштувати демонстраційний кластер etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/how-to-setup-cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/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;На кожному вузлі etcd вкажіть членів кластера:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;token-01
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.18
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.19
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Запустіть це на кожній машині:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Або використовуйте наш публічний сервіс виявлення:&lt;/p&gt;</description></item><item><title>Як налаштувати демонстраційний кластер etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/how-to-setup-cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/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;На кожному вузлі etcd вкажіть членів кластера:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;token-01
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.18
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.19
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Запустіть це на кожній машині:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Або використовуйте наш публічний сервіс виявлення:&lt;/p&gt;</description></item><item><title>Як налаштувати демонстраційний кластер etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/how-to-setup-cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/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;На кожному вузлі etcd вкажіть членів кластера:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;token-01
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;machine-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.18
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.19
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Запустіть це на кожній машині:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для машини 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 --listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 --listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Або використовуйте наш публічний сервіс виявлення:&lt;/p&gt;</description></item><item><title>Запис до etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/writing-to-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/writing-to-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Процедура&lt;a class="td-heading-self-link" href="#procedure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте субкоманду &lt;code&gt;put&lt;/code&gt; для запису пари ключ-значення:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put foo &lt;span class="s2"&gt;&amp;#34;Привіт Світ!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;де:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; є назвою ключа&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;Hello World!&amp;quot;&lt;/code&gt; є значенням у лапках&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Читання з etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/reading-from-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/reading-from-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Процедура&lt;a class="td-heading-self-link" href="#procedure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте субкоманду &lt;code&gt;get&lt;/code&gt; для читання з etcd:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Hello World!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;де:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; — це потрібний ключ&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Hello World!&lt;/code&gt; — це отримане значення&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Або, для форматованого виводу:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-log" data-lang="log"&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;де &lt;code&gt;write-out=&amp;quot;json&amp;quot;&lt;/code&gt; призводить до виводу значення у форматі JSON (зверніть увагу, що ключ не повертається).&lt;/p&gt;</description></item><item><title>Читання з etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/reading-from-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/reading-from-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановити &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Процедура&lt;a class="td-heading-self-link" href="#procedure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте субкоманду &lt;code&gt;get&lt;/code&gt; для читання з etcd:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Hello World!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;де:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; — це потрібний ключ&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Hello World!&lt;/code&gt; — це отримане значення&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Або, для форматованого виводу:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-log" data-lang="log"&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;де &lt;code&gt;write-out=&amp;quot;json&amp;quot;&lt;/code&gt; призводить до виводу значення у форматі JSON (зверніть увагу, що ключ не повертається).&lt;/p&gt;</description></item><item><title>Читання з etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/reading-from-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/reading-from-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановити &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Процедура&lt;a class="td-heading-self-link" href="#procedure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте субкоманду &lt;code&gt;get&lt;/code&gt; для читання з etcd:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Hello World!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;де:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; — це потрібний ключ&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Hello World!&lt;/code&gt; — це отримане значення&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Або, для форматованого виводу:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-log" data-lang="log"&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;де &lt;code&gt;write-out=&amp;quot;json&amp;quot;&lt;/code&gt; призводить до виводу значення у форматі JSON (зверніть увагу, що ключ не повертається).&lt;/p&gt;</description></item><item><title>Читання з etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/reading-from-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/reading-from-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановити &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Процедура&lt;a class="td-heading-self-link" href="#procedure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте субкоманду &lt;code&gt;get&lt;/code&gt; для читання з etcd:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Hello World!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;де:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; — це потрібний ключ&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Hello World!&lt;/code&gt; — це отримане значення&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Або, для форматованого виводу:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-log" data-lang="log"&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;де &lt;code&gt;write-out=&amp;quot;json&amp;quot;&lt;/code&gt; призводить до виводу значення у форматі JSON (зверніть увагу, що ключ не повертається).&lt;/p&gt;</description></item><item><title>Запис до etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/writing-to-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/writing-to-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Процедура&lt;a class="td-heading-self-link" href="#procedure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте субкоманду &lt;code&gt;put&lt;/code&gt; для запису пари ключ-значення:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put foo &lt;span class="s2"&gt;&amp;#34;Привіт Світ!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;де:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; є назвою ключа&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;Hello World!&amp;quot;&lt;/code&gt; є значенням у лапках&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Запис до etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/writing-to-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/writing-to-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Процедура&lt;a class="td-heading-self-link" href="#procedure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте субкоманду &lt;code&gt;put&lt;/code&gt; для запису пари ключ-значення:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put foo &lt;span class="s2"&gt;&amp;#34;Привіт Світ!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;де:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; є назвою ключа&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;Hello World!&amp;quot;&lt;/code&gt; є значенням у лапках&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Запис до etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/writing-to-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/writing-to-etcd/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;code&gt;etcdctl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="procedure"&gt;Процедура&lt;a class="td-heading-self-link" href="#procedure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте субкоманду &lt;code&gt;put&lt;/code&gt; для запису пари ключ-значення:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put foo &lt;span class="s2"&gt;&amp;#34;Привіт Світ!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;де:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;foo&lt;/code&gt; є назвою ключа&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot;Hello World!&amp;quot;&lt;/code&gt; є значенням у лапках&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Як отримати ключі за префіксом</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-get-key-by-prefix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-get-key-by-prefix/</guid><description>&lt;h2 id="pre-requisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#pre-requisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/install/"&gt;Встановити etcdctl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/local_cluster/"&gt;Налаштувати локальний кластер&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="get-keys-by-prefix"&gt;Отримати ключі за префіксом&lt;a class="td-heading-self-link" href="#get-keys-by-prefix" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Глобальні параметри&lt;a class="td-heading-self-link" href="#global-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&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;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix, отримати діапазон ключів з відповідним префіксом
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Приклад&lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link"&gt;&lt;/a&gt;&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web3 value3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як отримати ключі за префіксом</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-get-key-by-prefix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-get-key-by-prefix/</guid><description>&lt;h2 id="pre-requisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#pre-requisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;Встановити etcdctl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/local_cluster/"&gt;Налаштувати локальний кластер&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="get-keys-by-prefix"&gt;Отримати ключі за префіксом&lt;a class="td-heading-self-link" href="#get-keys-by-prefix" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Глобальні параметри&lt;a class="td-heading-self-link" href="#global-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&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;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix, отримати діапазон ключів з відповідним префіксом
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Приклад&lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link"&gt;&lt;/a&gt;&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web3 value3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як отримати ключі за префіксом</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-get-key-by-prefix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-get-key-by-prefix/</guid><description>&lt;h2 id="pre-requisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#pre-requisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;Встановити etcdctl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/local_cluster/"&gt;Налаштувати локальний кластер&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="get-keys-by-prefix"&gt;Отримати ключі за префіксом&lt;a class="td-heading-self-link" href="#get-keys-by-prefix" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Глобальні параметри&lt;a class="td-heading-self-link" href="#global-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&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;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix, отримати діапазон ключів з відповідним префіксом
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Приклад&lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link"&gt;&lt;/a&gt;&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web3 value3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як отримати ключі за префіксом</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-get-key-by-prefix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-get-key-by-prefix/</guid><description>&lt;h2 id="pre-requisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#pre-requisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;Встановити etcdctl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/local_cluster/"&gt;Налаштувати локальний кластер&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="get-keys-by-prefix"&gt;Отримати ключі за префіксом&lt;a class="td-heading-self-link" href="#get-keys-by-prefix" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Глобальні параметри&lt;a class="td-heading-self-link" href="#global-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&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;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix, отримати діапазон ключів з відповідним префіксом
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Приклад&lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link"&gt;&lt;/a&gt;&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put web3 value3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як видалити ключі</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-delete-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-delete-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="add-or-delete-keys"&gt;Додавання або видалення ключів&lt;a class="td-heading-self-link" href="#add-or-delete-keys" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;del&lt;/code&gt; для видалення вказаного ключа або діапазону ключів:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl del &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Опції&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити ключі з відповідним префіксом
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: вивести видалені пари ключ-значення
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--from-key&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити ключі, які більші або рівні даному ключу, використовуючи байтове порівняння
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--range&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити діапазон ключів без затримки
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Опції, успадковані від батьківських команд&lt;a class="td-heading-self-link" href="#options-inherited-from-parent-commands" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&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;Приклади&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put key myvalue
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; del key
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як видалити ключі</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-delete-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-delete-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="add-or-delete-keys"&gt;Додавання або видалення ключів&lt;a class="td-heading-self-link" href="#add-or-delete-keys" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;del&lt;/code&gt; для видалення вказаного ключа або діапазону ключів:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl del &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Опції&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити ключі з відповідним префіксом
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: вивести видалені пари ключ-значення
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--from-key&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити ключі, які більші або рівні даному ключу, використовуючи байтове порівняння
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--range&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити діапазон ключів без затримки
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Опції, успадковані від батьківських команд&lt;a class="td-heading-self-link" href="#options-inherited-from-parent-commands" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&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;Приклади&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put key myvalue
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; del key
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як видалити ключі</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-delete-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-delete-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="add-or-delete-keys"&gt;Додавання або видалення ключів&lt;a class="td-heading-self-link" href="#add-or-delete-keys" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;del&lt;/code&gt; для видалення вказаного ключа або діапазону ключів:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl del &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Опції&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити ключі з відповідним префіксом
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: вивести видалені пари ключ-значення
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--from-key&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити ключі, які більші або рівні даному ключу, використовуючи байтове порівняння
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--range&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити діапазон ключів без затримки
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Опції, успадковані від батьківських команд&lt;a class="td-heading-self-link" href="#options-inherited-from-parent-commands" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&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;Приклади&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put key myvalue
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; del key
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як видалити ключі</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-delete-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-delete-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="add-or-delete-keys"&gt;Додавання або видалення ключів&lt;a class="td-heading-self-link" href="#add-or-delete-keys" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;del&lt;/code&gt; для видалення вказаного ключа або діапазону ключів:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl del &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Опції&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити ключі з відповідним префіксом
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: вивести видалені пари ключ-значення
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--from-key&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити ключі, які більші або рівні даному ключу, використовуючи байтове порівняння
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--range&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: видалити діапазон ключів без затримки
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Опції, успадковані від батьківських команд&lt;a class="td-heading-self-link" href="#options-inherited-from-parent-commands" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&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;Приклади&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put key myvalue
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; del key
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k1 value1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put k2 value2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як зробити кілька записів у транзакції</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-transactional-write/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-transactional-write/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Запущений кластер &lt;code&gt;etcd&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="terminology"&gt;Термінологія&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ось визначення деяких ключових термінів, що використовуються в &lt;a href="#example"&gt;Прикладі&lt;/a&gt; нижче.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Терміни&lt;/th&gt;
 &lt;th&gt;Визначення&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"&gt;etcdctl&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Інструмент командного рядка для взаємодії з сервером etcd.&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"&gt;&lt;code&gt;txn&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Команда &lt;code&gt;txn&lt;/code&gt; є скороченням від &amp;ldquo;transaction&amp;rdquo; (транзакція). Вона зчитує кілька запитів etcd зі стандартного вводу та застосовує їх як єдину атомарну транзакцію. Транзакція складається з списку умов, списку запитів для застосування, якщо всі умови істинні, та списку запитів для застосування, якщо будь-яка умова хибна. Див. &lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#key-value-commands"&gt;Команди ключ-значення etcdctl&lt;/a&gt; для отримання додаткової інформації.&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;Умова &lt;code&gt;compare&lt;/code&gt; всередині транзакції (&lt;code&gt;txn&lt;/code&gt;) слугує умовною перевіркою, яка визначає, чи слід продовжувати операції транзакції. Вона гарантує, що зміни застосовуються лише тоді, коли поточний стан сховища ключ-значення відповідає очікуваним умовам, тим самим підтримуючи узгодженість даних та запобігаючи конфліктам у одночасному середовищі. Щоб побачити структуру команди, перегляньте розділ &lt;a href="#2-perform-a-transaction"&gt;Виконання транзакції&lt;/a&gt; нижче.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="transactions"&gt;Транзакції&lt;a class="td-heading-self-link" href="#transactions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;txn&lt;/code&gt; для обробки всіх запитів в одній транзакції:&lt;/p&gt;</description></item><item><title>Як зробити кілька записів у транзакції</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-transactional-write/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-transactional-write/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Запущений кластер &lt;code&gt;etcd&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="terminology"&gt;Термінологія&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ось визначення деяких ключових термінів, що використовуються в &lt;a href="#example"&gt;Прикладі&lt;/a&gt; нижче.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Терміни&lt;/th&gt;
 &lt;th&gt;Визначення&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"&gt;etcdctl&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Інструмент командного рядка для взаємодії з сервером etcd.&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"&gt;&lt;code&gt;txn&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Команда &lt;code&gt;txn&lt;/code&gt; є скороченням від &amp;ldquo;transaction&amp;rdquo; (транзакція). Вона зчитує кілька запитів etcd зі стандартного вводу та застосовує їх як єдину атомарну транзакцію. Транзакція складається з списку умов, списку запитів для застосування, якщо всі умови істинні, та списку запитів для застосування, якщо будь-яка умова хибна. Див. &lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#key-value-commands"&gt;Команди ключ-значення etcdctl&lt;/a&gt; для отримання додаткової інформації.&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;Умова &lt;code&gt;compare&lt;/code&gt; всередині транзакції (&lt;code&gt;txn&lt;/code&gt;) слугує умовною перевіркою, яка визначає, чи слід продовжувати операції транзакції. Вона гарантує, що зміни застосовуються лише тоді, коли поточний стан сховища ключ-значення відповідає очікуваним умовам, тим самим підтримуючи узгодженість даних та запобігаючи конфліктам у одночасному середовищі. Щоб побачити структуру команди, перегляньте розділ &lt;a href="#2-perform-a-transaction"&gt;Виконання транзакції&lt;/a&gt; нижче.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="transactions"&gt;Транзакції&lt;a class="td-heading-self-link" href="#transactions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;txn&lt;/code&gt; для обробки всіх запитів в одній транзакції:&lt;/p&gt;</description></item><item><title>Як зробити кілька записів у транзакції</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-transactional-write/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-transactional-write/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Запущений кластер &lt;code&gt;etcd&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="terminology"&gt;Термінологія&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ось визначення деяких ключових термінів, що використовуються в &lt;a href="#example"&gt;Прикладі&lt;/a&gt; нижче.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Терміни&lt;/th&gt;
 &lt;th&gt;Визначення&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"&gt;etcdctl&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Інструмент командного рядка для взаємодії з сервером etcd.&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"&gt;&lt;code&gt;txn&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Команда &lt;code&gt;txn&lt;/code&gt; є скороченням від &amp;ldquo;transaction&amp;rdquo; (транзакція). Вона зчитує кілька запитів etcd зі стандартного вводу та застосовує їх як єдину атомарну транзакцію. Транзакція складається з списку умов, списку запитів для застосування, якщо всі умови істинні, та списку запитів для застосування, якщо будь-яка умова хибна. Див. &lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#key-value-commands"&gt;Команди ключ-значення etcdctl&lt;/a&gt; для отримання додаткової інформації.&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;Умова &lt;code&gt;compare&lt;/code&gt; всередині транзакції (&lt;code&gt;txn&lt;/code&gt;) слугує умовною перевіркою, яка визначає, чи слід продовжувати операції транзакції. Вона гарантує, що зміни застосовуються лише тоді, коли поточний стан сховища ключ-значення відповідає очікуваним умовам, тим самим підтримуючи узгодженість даних та запобігаючи конфліктам у одночасному середовищі. Щоб побачити структуру команди, перегляньте розділ &lt;a href="#2-perform-a-transaction"&gt;Виконання транзакції&lt;/a&gt; нижче.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="transactions"&gt;Транзакції&lt;a class="td-heading-self-link" href="#transactions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;txn&lt;/code&gt; для обробки всіх запитів в одній транзакції:&lt;/p&gt;</description></item><item><title>Як зробити кілька записів у транзакції</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-transactional-write/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-transactional-write/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Запущений кластер &lt;code&gt;etcd&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="terminology"&gt;Термінологія&lt;a class="td-heading-self-link" href="#terminology" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ось визначення деяких ключових термінів, що використовуються в &lt;a href="#example"&gt;Прикладі&lt;/a&gt; нижче.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Терміни&lt;/th&gt;
 &lt;th&gt;Визначення&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"&gt;etcdctl&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Інструмент командного рядка для взаємодії з сервером etcd.&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"&gt;&lt;code&gt;txn&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Команда &lt;code&gt;txn&lt;/code&gt; є скороченням від &amp;ldquo;transaction&amp;rdquo; (транзакція). Вона зчитує кілька запитів etcd зі стандартного вводу та застосовує їх як єдину атомарну транзакцію. Транзакція складається з списку умов, списку запитів для застосування, якщо всі умови істинні, та списку запитів для застосування, якщо будь-яка умова хибна. Див. &lt;a href="https://github.com/etcd-io/etcd/blob/main/etcdctl/README.md#key-value-commands"&gt;Команди ключ-значення etcdctl&lt;/a&gt; для отримання додаткової інформації.&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;Умова &lt;code&gt;compare&lt;/code&gt; всередині транзакції (&lt;code&gt;txn&lt;/code&gt;) слугує умовною перевіркою, яка визначає, чи слід продовжувати операції транзакції. Вона гарантує, що зміни застосовуються лише тоді, коли поточний стан сховища ключ-значення відповідає очікуваним умовам, тим самим підтримуючи узгодженість даних та запобігаючи конфліктам у одночасному середовищі. Щоб побачити структуру команди, перегляньте розділ &lt;a href="#2-perform-a-transaction"&gt;Виконання транзакції&lt;/a&gt; нижче.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="transactions"&gt;Транзакції&lt;a class="td-heading-self-link" href="#transactions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;txn&lt;/code&gt; для обробки всіх запитів в одній транзакції:&lt;/p&gt;</description></item><item><title>Як спостерігати за ключами</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-watch-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-watch-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Необхідні умови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="watching-keys"&gt;Спостереження за ключами&lt;a class="td-heading-self-link" href="#watching-keys" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;watch&lt;/code&gt;, щоб отримувати повідомлення про майбутні зміни:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl watch &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Опції&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-i, --interactive&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: інтерактивний режим
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: спостерігати за префіксом, якщо встановлено префікс
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--rev&lt;span class="o"&gt;=&lt;/span&gt;0: Ревізія для початку спостереження
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: отримати попередню пару ключ-значення перед подією
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--progress-notify&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: отримувати періодичні повідомлення про прогрес спостереження від сервера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Опції, успадковані від батьківських команд&lt;a class="td-heading-self-link" href="#options-inherited-from-parent-commands" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&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;Приклади&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&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;</description></item><item><title>Як спостерігати за ключами</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-watch-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-watch-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Необхідні умови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="watching-keys"&gt;Спостереження за ключами&lt;a class="td-heading-self-link" href="#watching-keys" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;watch&lt;/code&gt;, щоб отримувати повідомлення про майбутні зміни:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl watch &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Опції&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-i, --interactive&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: інтерактивний режим
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: спостерігати за префіксом, якщо встановлено префікс
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--rev&lt;span class="o"&gt;=&lt;/span&gt;0: Ревізія для початку спостереження
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: отримати попередню пару ключ-значення перед подією
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--progress-notify&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: отримувати періодичні повідомлення про прогрес спостереження від сервера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Опції, успадковані від батьківських команд&lt;a class="td-heading-self-link" href="#options-inherited-from-parent-commands" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&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;Приклади&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&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;</description></item><item><title>Як спостерігати за ключами</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-watch-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-watch-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Необхідні умови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="watching-keys"&gt;Спостереження за ключами&lt;a class="td-heading-self-link" href="#watching-keys" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;watch&lt;/code&gt;, щоб отримувати повідомлення про майбутні зміни:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl watch &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Опції&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-i, --interactive&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: інтерактивний режим
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: спостерігати за префіксом, якщо встановлено префікс
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--rev&lt;span class="o"&gt;=&lt;/span&gt;0: Ревізія для початку спостереження
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: отримати попередню пару ключ-значення перед подією
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--progress-notify&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: отримувати періодичні повідомлення про прогрес спостереження від сервера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Опції, успадковані від батьківських команд&lt;a class="td-heading-self-link" href="#options-inherited-from-parent-commands" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&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;Приклади&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&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;</description></item><item><title>Як спостерігати за ключами</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-watch-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-watch-keys/</guid><description>&lt;h2 id="prerequisites"&gt;Необхідні умови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="watching-keys"&gt;Спостереження за ключами&lt;a class="td-heading-self-link" href="#watching-keys" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;watch&lt;/code&gt;, щоб отримувати повідомлення про майбутні зміни:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl watch &lt;span class="nv"&gt;$KEY&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;$END_KEY&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Опції&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-i, --interactive&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: інтерактивний режим
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prefix&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: спостерігати за префіксом, якщо встановлено префікс
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--rev&lt;span class="o"&gt;=&lt;/span&gt;0: Ревізія для початку спостереження
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--prev-kv&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: отримати попередню пару ключ-значення перед подією
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--progress-notify&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: отримувати періодичні повідомлення про прогрес спостереження від сервера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options-inherited-from-parent-commands"&gt;Опції, успадковані від батьківських команд&lt;a class="td-heading-self-link" href="#options-inherited-from-parent-commands" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&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;Приклади&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&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;</description></item><item><title>Як створити оренду</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-create-lease/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-create-lease/</guid><description>&lt;p&gt;Використовуйте &lt;code&gt;lease&lt;/code&gt; для запису з часу існування (TTL, time-to-live) в etcd:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease grant &lt;span class="m"&gt;300&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# lease 2be7547fbc6a5afa granted with TTL(300s)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put sample value --lease&lt;span class="o"&gt;=&lt;/span&gt;2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get sample
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease keep-alive 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease revoke 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# or after 300 seconds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як створити оренду</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-create-lease/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-create-lease/</guid><description>&lt;p&gt;Використовуйте &lt;code&gt;lease&lt;/code&gt; для запису з часом існування (TTL, time-to-live) в etcd:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease grant &lt;span class="m"&gt;300&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# lease 2be7547fbc6a5afa надано з TTL(300s)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put sample value --lease&lt;span class="o"&gt;=&lt;/span&gt;2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get sample
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease keep-alive 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease revoke 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# або після 300 секунд&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як створити оренду</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-create-lease/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-create-lease/</guid><description>&lt;p&gt;Використовуйте &lt;code&gt;lease&lt;/code&gt; для запису з часом існування (TTL, time-to-live) в etcd:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease grant &lt;span class="m"&gt;300&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# lease 2be7547fbc6a5afa надано з TTL(300s)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put sample value --lease&lt;span class="o"&gt;=&lt;/span&gt;2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get sample
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease keep-alive 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease revoke 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# або після 300 секунд&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як створити оренду</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-create-lease/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-create-lease/</guid><description>&lt;p&gt;Використовуйте &lt;code&gt;lease&lt;/code&gt; для запису з часом існування (TTL, time-to-live) в etcd:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease grant &lt;span class="m"&gt;300&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# lease 2be7547fbc6a5afa надано з TTL(300s)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; put sample value --lease&lt;span class="o"&gt;=&lt;/span&gt;2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; get sample
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease keep-alive 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lease revoke 2be7547fbc6a5afa
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# або після 300 секунд&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як створювати блокування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-create-locks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-create-locks/</guid><description>&lt;p&gt;Використовуйте &lt;code&gt;lock&lt;/code&gt; для розподіленого блокування:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lock mutex1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# another client with the same name blocks&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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>Як створювати блокування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-create-locks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/developer/how-to-create-locks/</guid><description>&lt;p&gt;LOCK здобуває розподілений мʼютекс із заданою назвою. Після отримання блокування воно утримується, доки etcdctl не буде завершено.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="creating-a-lock"&gt;Створення блокування&lt;a class="td-heading-self-link" href="#creating-a-lock" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;lock&lt;/code&gt; для розподіленого блокування:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lock mutex1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;endpoints — визначає розділений комами список адрес машин у кластері.&lt;/li&gt;
&lt;li&gt;ttl — час очікування в секундах для сесії блокування.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Як створювати блокування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-create-locks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/developer/how-to-create-locks/</guid><description>&lt;p&gt;LOCK здобуває розподілений мʼютекс із заданою назвою. Після отримання блокування воно утримується, доки etcdctl не буде завершено.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="creating-a-lock"&gt;Створення блокування&lt;a class="td-heading-self-link" href="#creating-a-lock" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;lock&lt;/code&gt; для розподіленого блокування:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lock mutex1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;endpoints — визначає розділений комами список адрес машин у кластері.&lt;/li&gt;
&lt;li&gt;ttl — час очікування в секундах для сесії блокування.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Як створювати блокування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-create-locks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/developer/how-to-create-locks/</guid><description>&lt;p&gt;LOCK здобуває розподілений мʼютекс із заданою назвою. Після отримання блокування воно утримується, доки etcdctl не буде завершено.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="creating-a-lock"&gt;Створення блокування&lt;a class="td-heading-self-link" href="#creating-a-lock" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;lock&lt;/code&gt; для розподіленого блокування:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt; lock mutex1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;endpoints — визначає розділений комами список адрес машин у кластері.&lt;/li&gt;
&lt;li&gt;ttl — час очікування в секундах для сесії блокування.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Як проводити вибори лідера в кластері etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-conduct-elections/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-conduct-elections/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Переконайтеся, що &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/install/"&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/a&gt; та &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/install/"&gt;&lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt; встановлені.&lt;/li&gt;
&lt;li&gt;Перевірте наявність активного кластера etcd.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="conduct-leader-election"&gt;Проведення виборів лідера&lt;a class="td-heading-self-link" href="#conduct-leader-election" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Команду &lt;code&gt;etcdctl&lt;/code&gt; використовують для проведення виборів лідера в кластері etcd. Вона гарантує, що лише один клієнт може стати лідером за раз.&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--endpoints : $ENDPOINTS&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Адреса кожного члена кластера etcd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;election-name&lt;/code&gt; string&lt;/p&gt;
&lt;p&gt;Рядковий ідентифікатор для виборів. Усі учасники, які конкурують за лідерство, мають використовувати однакову назву виборів.&lt;/p&gt;</description></item><item><title>Як проводити вибори лідера в кластері etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/how-to-conduct-elections/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/how-to-conduct-elections/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Переконайтеся, що &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/a&gt; та &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;&lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt; встановлені.&lt;/li&gt;
&lt;li&gt;Перевірте наявність активного кластера etcd.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="conduct-leader-election"&gt;Проведення виборів лідера&lt;a class="td-heading-self-link" href="#conduct-leader-election" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Команду &lt;code&gt;etcdctl&lt;/code&gt; використовують для проведення виборів лідера в кластері etcd. Вона гарантує, що лише один клієнт може стати лідером за раз.&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--endpoints : $ENDPOINTS&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Адреса кожного члена кластера etcd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;election-name&lt;/code&gt; string&lt;/p&gt;
&lt;p&gt;Рядок ідентифікатора для виборів. Усі учасники, які конкурують за лідерство, мають використовувати однакову назву виборів.&lt;/p&gt;</description></item><item><title>Як проводити вибори лідера в кластері etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/how-to-conduct-elections/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/how-to-conduct-elections/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Переконайтеся, що &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/a&gt; та &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;&lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt; встановлені.&lt;/li&gt;
&lt;li&gt;Перевірте наявність активного кластера etcd.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="conduct-leader-election"&gt;Проведення виборів лідера&lt;a class="td-heading-self-link" href="#conduct-leader-election" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Команду &lt;code&gt;etcdctl&lt;/code&gt; використовують для проведення виборів лідера в кластері etcd. Вона гарантує, що лише один клієнт може стати лідером за раз.&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--endpoints : $ENDPOINTS&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Адреса кожного члена кластера etcd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;election-name&lt;/code&gt; string&lt;/p&gt;
&lt;p&gt;Рядок ідентифікатора для виборів. Усі учасники, які конкурують за лідерство, мають використовувати однакову назву виборів.&lt;/p&gt;</description></item><item><title>Як проводити вибори лідера в кластері etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/how-to-conduct-elections/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/how-to-conduct-elections/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Переконайтеся, що &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;&lt;code&gt;etcd&lt;/code&gt;&lt;/a&gt; та &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;&lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt; встановлені.&lt;/li&gt;
&lt;li&gt;Перевірте наявність активного кластера etcd.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="conduct-leader-election"&gt;Проведення виборів лідера&lt;a class="td-heading-self-link" href="#conduct-leader-election" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Команду &lt;code&gt;etcdctl&lt;/code&gt; використовують для проведення виборів лідера в кластері etcd. Вона гарантує, що лише один клієнт може стати лідером за раз.&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--endpoints : $ENDPOINTS&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Адреса кожного члена кластера etcd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;election-name&lt;/code&gt; string&lt;/p&gt;
&lt;p&gt;Рядок ідентифікатора для виборів. Усі учасники, які конкурують за лідерство, мають використовувати однакову назву виборів.&lt;/p&gt;</description></item><item><title>Швидкий старт</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/quickstart/</guid><description>&lt;p&gt;Дотримуйтесь цих інструкцій, щоб локально встановити, запустити і протестувати кластер, що складається з одного члена etcd:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Встановіть etcd з попередньо зібраних двійкових файлів або з коду. Докладні відомості наведено у розділі &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/install/"&gt;Встановлення&lt;/a&gt;.&lt;/p&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;p&gt;&lt;strong&gt;Важливо&lt;/strong&gt;: Переконайтеся, що ви виконали останній крок інструкцій з встановлення, щоб переконатися, що &lt;code&gt;etcd&lt;/code&gt; є у вашій змінній PATH.&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Запустіть &lt;code&gt;etcd&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; etcd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;{&amp;#34;level&amp;#34;:&amp;#34;info&amp;#34;,&amp;#34;ts&amp;#34;:&amp;#34;2021-09-17T09:19:32.783-0400&amp;#34;,&amp;#34;caller&amp;#34;:&amp;#34;etcdmain/etcd.go:72&amp;#34;,&amp;#34;msg&amp;#34;:... }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&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;p&gt;&lt;strong&gt;Примітка&lt;/strong&gt;: Вивід, який створює &lt;code&gt;etcd&lt;/code&gt; є &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/configuration/#logging"&gt;журналами&lt;/a&gt; — логи інформаційного рівня можна ігнорувати.&lt;/p&gt;</description></item><item><title>Швидкий старт</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/quickstart/</guid><description>&lt;p&gt;Дотримуйтесь цих інструкцій, щоб локально встановити, запустити і протестувати кластер, що складається з одного члена etcd:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Встановіть etcd з попередньо зібраних двійкових файлів або з коду. Докладні відомості наведено у розділі &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;Встановлення&lt;/a&gt;.&lt;/p&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;p&gt;&lt;strong&gt;Важливо&lt;/strong&gt;: Переконайтеся, що ви виконали останній крок інструкцій з встановлення, щоб переконатися, що &lt;code&gt;etcd&lt;/code&gt; є у вашій змінній PATH.&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Запустіть &lt;code&gt;etcd&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; etcd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;{&amp;#34;level&amp;#34;:&amp;#34;info&amp;#34;,&amp;#34;ts&amp;#34;:&amp;#34;2021-09-17T09:19:32.783-0400&amp;#34;,&amp;#34;caller&amp;#34;:&amp;#34;etcdmain/etcd.go:72&amp;#34;,&amp;#34;msg&amp;#34;:... }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&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;p&gt;&lt;strong&gt;Примітка&lt;/strong&gt;: Вивід, який створює &lt;code&gt;etcd&lt;/code&gt; є &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/configuration/#logging"&gt;журналами&lt;/a&gt; — логи інформаційного рівня можна ігнорувати.&lt;/p&gt;</description></item><item><title>Швидкий старт</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/quickstart/</guid><description>&lt;p&gt;Дотримуйтесь цих інструкцій, щоб локально встановити, запустити і протестувати кластер, що складається з одного члена etcd:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Встановіть etcd з попередньо зібраних двійкових файлів або з коду. Докладні відомості наведено у розділі &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;Встановлення&lt;/a&gt;.&lt;/p&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;p&gt;&lt;strong&gt;Важливо&lt;/strong&gt;: Переконайтеся, що ви виконали останній крок інструкцій з встановлення, щоб переконатися, що &lt;code&gt;etcd&lt;/code&gt; є у вашій змінній PATH.&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Запустіть &lt;code&gt;etcd&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; etcd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;{&amp;#34;level&amp;#34;:&amp;#34;info&amp;#34;,&amp;#34;ts&amp;#34;:&amp;#34;2021-09-17T09:19:32.783-0400&amp;#34;,&amp;#34;caller&amp;#34;:&amp;#34;etcdmain/etcd.go:72&amp;#34;,&amp;#34;msg&amp;#34;:... }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&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;p&gt;&lt;strong&gt;Примітка&lt;/strong&gt;: Вивід, який створює &lt;code&gt;etcd&lt;/code&gt; є &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/configuration/#logging"&gt;журналами&lt;/a&gt; — логи інформаційного рівня можна ігнорувати.&lt;/p&gt;</description></item><item><title>Швидкий старт</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/quickstart/</guid><description>&lt;p&gt;Дотримуйтесь цих інструкцій, щоб локально встановити, запустити і протестувати кластер, що складається з одного члена etcd:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Встановіть etcd з попередньо зібраних двійкових файлів або з коду. Докладні відомості наведено у розділі &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;Встановлення&lt;/a&gt;.&lt;/p&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;p&gt;&lt;strong&gt;Важливо&lt;/strong&gt;: Переконайтеся, що ви виконали останній крок інструкцій з встановлення, щоб переконатися, що &lt;code&gt;etcd&lt;/code&gt; є у вашій змінній PATH.&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Запустіть &lt;code&gt;etcd&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; etcd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;{&amp;#34;level&amp;#34;:&amp;#34;info&amp;#34;,&amp;#34;ts&amp;#34;:&amp;#34;2021-09-17T09:19:32.783-0400&amp;#34;,&amp;#34;caller&amp;#34;:&amp;#34;etcdmain/etcd.go:72&amp;#34;,&amp;#34;msg&amp;#34;:... }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&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;p&gt;&lt;strong&gt;Примітка&lt;/strong&gt;: Вивід, який створює &lt;code&gt;etcd&lt;/code&gt; є &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/configuration/#logging"&gt;журналами&lt;/a&gt; — логи інформаційного рівня можна ігнорувати.&lt;/p&gt;</description></item><item><title>Як перевірити стан кластера</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-check-cluster-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-check-cluster-status/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановіть &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="check-overall-status"&gt;Перевірка загального стану&lt;a class="td-heading-self-link" href="#check-overall-status" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint status&lt;/code&gt; для перевірки загального стану кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl endpoint status &lt;span class="o"&gt;(&lt;/span&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;--cluster&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--cluster&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&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;Перевірка справності&lt;a class="td-heading-self-link" href="#check-health" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;endpoint health&lt;/code&gt; для перевірки справності кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl endpoint health &lt;span class="o"&gt;(&lt;/span&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;--cluster&lt;span class="o"&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;Параметри&lt;a class="td-heading-self-link" href="#options-1" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--cluster&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&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;Перевірка хешу KV&lt;a class="td-heading-self-link" href="#check-kv-hash" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint hashkv&lt;/code&gt; для перевірки хешу історії KV кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Як перевірити стан кластера</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/how-to-check-cluster-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/how-to-check-cluster-status/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановить &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="check-overall-status"&gt;Перевірка загального стану&lt;a class="td-heading-self-link" href="#check-overall-status" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint status&lt;/code&gt; для перевірки загального стану кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl endpoint status &lt;span class="o"&gt;(&lt;/span&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;--cluster&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--cluster&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: використовувати всі точки доступу зі списку учасників кластера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="check-health"&gt;Перевірка справності&lt;a class="td-heading-self-link" href="#check-health" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;endpoint health&lt;/code&gt; для перевірки справності кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl endpoint health &lt;span class="o"&gt;(&lt;/span&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;--cluster&lt;span class="o"&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;Параметри&lt;a class="td-heading-self-link" href="#options-1" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--cluster&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: використовувати всі точки доступу зі списку учасників кластера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="check-kv-hash"&gt;Перевірка хешу KV&lt;a class="td-heading-self-link" href="#check-kv-hash" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint hashkv&lt;/code&gt; для перевірки хешу історії KV кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Як перевірити стан кластера</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/how-to-check-cluster-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/how-to-check-cluster-status/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановить &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="check-overall-status"&gt;Перевірка загального стану&lt;a class="td-heading-self-link" href="#check-overall-status" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint status&lt;/code&gt; для перевірки загального стану кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl endpoint status &lt;span class="o"&gt;(&lt;/span&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;--cluster&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--cluster&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: використовувати всі точки доступу зі списку учасників кластера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="check-health"&gt;Перевірка справності&lt;a class="td-heading-self-link" href="#check-health" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;endpoint health&lt;/code&gt; для перевірки справності кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl endpoint health &lt;span class="o"&gt;(&lt;/span&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;--cluster&lt;span class="o"&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;Параметри&lt;a class="td-heading-self-link" href="#options-1" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--cluster&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: використовувати всі точки доступу зі списку учасників кластера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="check-kv-hash"&gt;Перевірка хешу KV&lt;a class="td-heading-self-link" href="#check-kv-hash" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint hashkv&lt;/code&gt; для перевірки хешу історії KV кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Як перевірити стан кластера</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/how-to-check-cluster-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/how-to-check-cluster-status/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Встановить &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;&lt;code&gt;etcd&lt;/code&gt; та &lt;code&gt;etcdctl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="check-overall-status"&gt;Перевірка загального стану&lt;a class="td-heading-self-link" href="#check-overall-status" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint status&lt;/code&gt; для перевірки загального стану кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl endpoint status &lt;span class="o"&gt;(&lt;/span&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;--cluster&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="options"&gt;Параметри&lt;a class="td-heading-self-link" href="#options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--cluster&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: використовувати всі точки доступу зі списку учасників кластера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="check-health"&gt;Перевірка справності&lt;a class="td-heading-self-link" href="#check-health" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;endpoint health&lt;/code&gt; для перевірки справності кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl endpoint health &lt;span class="o"&gt;(&lt;/span&gt;--endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$ENDPOINTS&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;--cluster&lt;span class="o"&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;Параметри&lt;a class="td-heading-self-link" href="#options-1" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--cluster&lt;span class="o"&gt;[=&lt;/span&gt;false&lt;span class="o"&gt;]&lt;/span&gt;: використовувати всі точки доступу зі списку учасників кластера
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="check-kv-hash"&gt;Перевірка хешу KV&lt;a class="td-heading-self-link" href="#check-kv-hash" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;endpoint hashkv&lt;/code&gt; для перевірки хешу історії KV кожної точки доступу, зазначеної у прапорці &lt;code&gt;--endpoints&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Демонстрація</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/demo/</guid><description>&lt;p&gt;Ця серія прикладів показує основні процедури роботи з кластером etcd.&lt;/p&gt;
&lt;h2 id="auth"&gt;Auth&lt;a class="td-heading-self-link" href="#auth" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;,&lt;code&gt;user&lt;/code&gt;,&lt;code&gt;role&lt;/code&gt; для автентифікації:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# тепер всі запити клієнтів проходять через автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# у дозволі відмовлено, імʼя користувача порожнє, оскільки запит не видає запит на автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 може прочитати ключ foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Демонстрація</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/demo/</guid><description>&lt;p&gt;Ця серія прикладів показує основні процедури роботи з кластером etcd.&lt;/p&gt;
&lt;h2 id="auth"&gt;Auth&lt;a class="td-heading-self-link" href="#auth" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;,&lt;code&gt;user&lt;/code&gt;,&lt;code&gt;role&lt;/code&gt; для автентифікації:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# тепер всі запити клієнтів проходять через автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# у дозволі відмовлено, імʼя користувача порожнє, оскільки запит не видає запит на автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 може прочитати ключ foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Як зберегти базу даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-save-database/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-save-database/</guid><description>&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/install/"&gt;Встановити etcdctl, etcdutl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/local_cluster/"&gt;Налаштувати локальний кластер&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="snapshot-a-database"&gt;Знімок бази даних&lt;a class="td-heading-self-link" href="#snapshot-a-database" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;snapshot&lt;/code&gt; для збереження знімка бази даних etcd на певний момент часу:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Глобальні параметри&lt;a class="td-heading-self-link" href="#global-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="etcdctl"&gt;etcdctl&lt;a class="td-heading-self-link" href="#etcdctl" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&gt;]&lt;/span&gt;, gRPC endpoints
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Знімок можна запросити лише з одного вузла etcd, тому прапорець &lt;code&gt;--endpoints&lt;/code&gt; повинен містити лише одну точку доступу.&lt;/p&gt;
&lt;h4 id="etcdutl"&gt;etcdutl&lt;a class="td-heading-self-link" href="#etcdutl" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-w, --write-out string &lt;span class="nb"&gt;set&lt;/span&gt; the output format &lt;span class="o"&gt;(&lt;/span&gt;fields, json, protobuf, simple, table&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;default &lt;span class="s2"&gt;&amp;#34;simple&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Приклад&lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link"&gt;&lt;/a&gt;&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;</description></item><item><title>Як зберегти базу даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/how-to-save-database/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/how-to-save-database/</guid><description>&lt;h2 id="pre-requisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#pre-requisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/install/"&gt;Встановити etcdctl, etcdutl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/local_cluster/"&gt;Налаштувати локальний кластер&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="snapshot-a-database"&gt;Знімок бази даних&lt;a class="td-heading-self-link" href="#snapshot-a-database" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;snapshot&lt;/code&gt; для збереження знімка бази даних etcd на певний момент часу:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Глобальні параметри&lt;a class="td-heading-self-link" href="#global-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="etcdctl"&gt;etcdctl&lt;a class="td-heading-self-link" href="#etcdctl" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&gt;]&lt;/span&gt;, gRPC endpoints
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Знімок можна запросити лише з одного вузла etcd, тому прапорець &lt;code&gt;--endpoints&lt;/code&gt; повинен містити лише одну точку доступу.&lt;/p&gt;
&lt;h4 id="etcdutl"&gt;etcdutl&lt;a class="td-heading-self-link" href="#etcdutl" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-w, --write-out string встановити формат виводу &lt;span class="o"&gt;(&lt;/span&gt;fields, json, protobuf, simple, table&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;типово &lt;span class="s2"&gt;&amp;#34;simple&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Приклад&lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link"&gt;&lt;/a&gt;&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;</description></item><item><title>Як зберегти базу даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/how-to-save-database/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/how-to-save-database/</guid><description>&lt;h2 id="pre-requisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#pre-requisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/install/"&gt;Встановити etcdctl, etcdutl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/local_cluster/"&gt;Налаштувати локальний кластер&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="snapshot-a-database"&gt;Знімок бази даних&lt;a class="td-heading-self-link" href="#snapshot-a-database" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;snapshot&lt;/code&gt; для збереження знімка бази даних etcd на певний момент часу:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Глобальні параметри&lt;a class="td-heading-self-link" href="#global-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="etcdctl"&gt;etcdctl&lt;a class="td-heading-self-link" href="#etcdctl" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&gt;]&lt;/span&gt;, gRPC endpoints
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Знімок можна запросити лише з одного вузла etcd, тому прапорець &lt;code&gt;--endpoints&lt;/code&gt; повинен містити лише одну точку доступу.&lt;/p&gt;
&lt;h4 id="etcdutl"&gt;etcdutl&lt;a class="td-heading-self-link" href="#etcdutl" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-w, --write-out string встановити формат виводу &lt;span class="o"&gt;(&lt;/span&gt;fields, json, protobuf, simple, table&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;типово &lt;span class="s2"&gt;&amp;#34;simple&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Приклад&lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link"&gt;&lt;/a&gt;&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;</description></item><item><title>Як зберегти базу даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/how-to-save-database/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/how-to-save-database/</guid><description>&lt;h2 id="pre-requisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#pre-requisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/install/"&gt;Встановити etcdctl, etcdutl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/local_cluster/"&gt;Налаштувати локальний кластер&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="snapshot-a-database"&gt;Знімок бази даних&lt;a class="td-heading-self-link" href="#snapshot-a-database" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;code&gt;snapshot&lt;/code&gt; для збереження знімка бази даних etcd на певний момент часу:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&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;Глобальні параметри&lt;a class="td-heading-self-link" href="#global-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="etcdctl"&gt;etcdctl&lt;a class="td-heading-self-link" href="#etcdctl" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--endpoints&lt;span class="o"&gt;=[&lt;/span&gt;127.0.0.1:2379&lt;span class="o"&gt;]&lt;/span&gt;, gRPC endpoints
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Знімок можна запросити лише з одного вузла etcd, тому прапорець &lt;code&gt;--endpoints&lt;/code&gt; повинен містити лише одну точку доступу.&lt;/p&gt;
&lt;h4 id="etcdutl"&gt;etcdutl&lt;a class="td-heading-self-link" href="#etcdutl" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-w, --write-out string встановити формат виводу &lt;span class="o"&gt;(&lt;/span&gt;fields, json, protobuf, simple, table&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;типово &lt;span class="s2"&gt;&amp;#34;simple&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="example"&gt;Приклад&lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link"&gt;&lt;/a&gt;&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;</description></item><item><title>Встановлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/install/</guid><description>&lt;h2 id="requirements"&gt;Вимоги&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Перед встановленням etcd ознайомтеся з наступними сторінками:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/supported-platform/"&gt;Підтримувані платформи&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/hardware/"&gt;Рекомендація щодо апаратного забезпечення&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="install-pre-built-binaries"&gt;Встановлення з попередньо зібраних двійкових файлів&lt;a class="td-heading-self-link" href="#install-pre-built-binaries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Найпростіший спосіб встановити etcd — з готових двійкових файлів:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Завантажте стиснутий файл архіву для вашої платформи з &lt;a href="https://github.com/etcd-io/etcd/releases/"&gt;Releases&lt;/a&gt;, вибравши реліз &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.21"&gt;v3.5.21&lt;/a&gt; або пізніший.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Розпакуйте архівний файл. У результаті буде створено теку, яка міститиме двійкові файли.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Додайте виконувані двійкові файли до вашого шляху. Наприклад, перейменуйте та/або перемістіть двійкові файли до теки у вашому шляху (наприклад, &lt;code&gt;/usr/local/bin&lt;/code&gt;), або додайте до шляху теку, створену на попередньому кроці.&lt;/p&gt;</description></item><item><title>Встановлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/install/</guid><description>&lt;h2 id="requirements"&gt;Вимоги&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Перед встановленням etcd ознайомтеся з наступними сторінками:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/supported-platform/"&gt;Підтримувані платформи&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/hardware/"&gt;Рекомендація щодо апаратного забезпечення&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="install-pre-built-binaries"&gt;Встановлення з попередньо зібраних двійкових файлів&lt;a class="td-heading-self-link" href="#install-pre-built-binaries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Найпростіший спосіб встановити etcd — з готових двійкових файлів:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Завантажте стиснутий файл архіву для вашої платформи з &lt;a href="https://github.com/etcd-io/etcd/releases/"&gt;Releases&lt;/a&gt;, вибравши реліз &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.0"&gt;v3.6.0&lt;/a&gt; або пізніший.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Розпакуйте архівний файл. У результаті буде створено теку, яка міститиме двійкові файли.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Додайте виконувані двійкові файли до вашого шляху. Наприклад, перейменуйте та/або перемістіть двійкові файли до теки у вашому шляху (наприклад, &lt;code&gt;/usr/local/bin&lt;/code&gt;), або додайте до шляху теку, створену на попередньому кроці.&lt;/p&gt;</description></item><item><title>Встановлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/install/</guid><description>&lt;h2 id="requirements"&gt;Вимоги&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Перед встановленням etcd ознайомтеся з наступними сторінками:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/supported-platform/"&gt;Підтримувані платформи&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/hardware/"&gt;Рекомендація щодо апаратного забезпечення&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="install-pre-built-binaries"&gt;Встановлення з попередньо зібраних двійкових файлів&lt;a class="td-heading-self-link" href="#install-pre-built-binaries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Найпростіший спосіб встановити etcd — з готових двійкових файлів:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Завантажте стиснутий файл архіву для вашої платформи з &lt;a href="https://github.com/etcd-io/etcd/releases/"&gt;Releases&lt;/a&gt;, вибравши реліз &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.7.0"&gt;v3.7.0&lt;/a&gt; або пізніший.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Розпакуйте архівний файл. У результаті буде створено теку, яка міститиме двійкові файли.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Додайте виконувані двійкові файли до вашого шляху. Наприклад, перейменуйте та/або перемістіть двійкові файли до теки у вашому шляху (наприклад, &lt;code&gt;/usr/local/bin&lt;/code&gt;), або додайте до шляху теку, створену на попередньому кроці.&lt;/p&gt;</description></item><item><title>Встановлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/install/</guid><description>&lt;h2 id="requirements"&gt;Вимоги&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Перед встановленням etcd ознайомтеся з наступними сторінками:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/supported-platform/"&gt;Підтримувані платформи&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/hardware/"&gt;Рекомендація щодо апаратного забезпечення&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="install-pre-built-binaries"&gt;Встановлення з попередньо зібраних двійкових файлів&lt;a class="td-heading-self-link" href="#install-pre-built-binaries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Найпростіший спосіб встановити etcd — з готових двійкових файлів:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Завантажте стиснутий файл архіву для вашої платформи з &lt;a href="https://github.com/etcd-io/etcd/releases/"&gt;Releases&lt;/a&gt;, вибравши реліз &lt;a href="https://github.com/etcd-io/etcd/releases/tag/main"&gt;main&lt;/a&gt; або пізніший.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Розпакуйте архівний файл. У результаті буде створено теку, яка міститиме двійкові файли.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Додайте виконувані двійкові файли до вашого шляху. Наприклад, перейменуйте та/або перемістіть двійкові файли до теки у вашому шляху (наприклад, &lt;code&gt;/usr/local/bin&lt;/code&gt;), або додайте до шляху теку, створену на попередньому кроці.&lt;/p&gt;</description></item><item><title>Функціональні можливості</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/feature-gates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/feature-gates/</guid><description>&lt;!-- overview --&gt;
&lt;p&gt;Ця сторінка містить огляд різних функціональних можливостей, які адміністратор може вказати для etcd.&lt;/p&gt;
&lt;p&gt;Див. &lt;a href="#feature-stages"&gt;етапи функцій&lt;/a&gt; для їх пояснення.&lt;/p&gt;
&lt;!-- body --&gt;
&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Функціональні можливості — це набір пар ключ=значення, які описують функції etcd. Ви можете увімкнути або вимкнути ці функції за допомогою прапорця &lt;code&gt;--feature-gates&lt;/code&gt; у командному рядку etcd.&lt;/p&gt;
&lt;p&gt;etcd дозволяє увімкнути або вимкнути набір функціональних можливостей. Використовуйте прапорець &lt;code&gt;-h&lt;/code&gt;, щоб переглянути повний набір функціональних можливостей. Щоб установити функціональні можливості, використовуйте прапорець &lt;code&gt;--feature-gates&lt;/code&gt; із вказаним списком пар функцій у командному рядку:&lt;/p&gt;</description></item><item><title>Функціональні можливості</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/feature-gates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/feature-gates/</guid><description>&lt;!-- overview --&gt;
&lt;p&gt;Ця сторінка містить огляд різних функціональних можливостей, які адміністратор може вказати для etcd.&lt;/p&gt;
&lt;p&gt;Див. &lt;a href="#feature-stages"&gt;етапи функцій&lt;/a&gt; для їх пояснення.&lt;/p&gt;
&lt;!-- body --&gt;
&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Функціональні можливості — це набір пар ключ=значення, які описують функції etcd. Ви можете увімкнути або вимкнути ці функції за допомогою прапорця &lt;code&gt;--feature-gates&lt;/code&gt; у командному рядку etcd.&lt;/p&gt;
&lt;p&gt;etcd дозволяє увімкнути або вимкнути набір функціональних можливостей. Використовуйте прапорець &lt;code&gt;-h&lt;/code&gt;, щоб переглянути повний набір функціональних можливостей. Щоб установити функціональні можливості, використовуйте прапорець &lt;code&gt;--feature-gates&lt;/code&gt; із вказаним списком пар функцій у командному рядку:&lt;/p&gt;</description></item><item><title>Функціональні можливості</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/feature-gates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/feature-gates/</guid><description>&lt;!-- overview --&gt;
&lt;p&gt;Ця сторінка містить огляд різних функціональних можливостей, які адміністратор може вказати для etcd.&lt;/p&gt;
&lt;p&gt;Див. &lt;a href="#feature-stages"&gt;етапи функцій&lt;/a&gt; для їх пояснення.&lt;/p&gt;
&lt;!-- body --&gt;
&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Функціональні можливості — це набір пар ключ=значення, які описують функції etcd. Ви можете увімкнути або вимкнути ці функції за допомогою прапорця &lt;code&gt;--feature-gates&lt;/code&gt; у командному рядку etcd.&lt;/p&gt;
&lt;p&gt;etcd дозволяє увімкнути або вимкнути набір функціональних можливостей. Використовуйте прапорець &lt;code&gt;-h&lt;/code&gt;, щоб переглянути повний набір функціональних можливостей. Щоб установити функціональні можливості, використовуйте прапорець &lt;code&gt;--feature-gates&lt;/code&gt; із вказаним списком пар функцій у командному рядку:&lt;/p&gt;</description></item><item><title>ЧаПи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/faq/</guid><description>&lt;h2 id="etcd-general"&gt;etcd, загальні питання&lt;a class="td-heading-self-link" href="#etcd-general" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="what-is-etcd"&gt;Що таке etcd?&lt;a class="td-heading-self-link" href="#what-is-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;etcd — це консистентне розподілене сховище ключ-значення. Головним чином використовується як окрема служба координації в розподілених системах. Розроблено для зберігання невеликої кількості даних, які можуть повністю поміститися в памʼяті.&lt;/p&gt;
&lt;h3 id="how-do-you-pronounce-etcd"&gt;Як вимовляється etcd?&lt;a class="td-heading-self-link" href="#how-do-you-pronounce-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;etcd вимовляється &lt;strong&gt;/ˈɛtsiːdiː/&lt;/strong&gt; і означає &amp;ldquo;розподілена тека &lt;code&gt;etc&lt;/code&gt;.&amp;rdquo;&lt;/p&gt;
&lt;h3 id="do-clients-have-to-send-requests-to-the-etcd-leader"&gt;Чи повинні клієнти надсилати запити до лідера etcd?&lt;a class="td-heading-self-link" href="#do-clients-have-to-send-requests-to-the-etcd-leader" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://raft.github.io/raft.pdf"&gt;Raft&lt;/a&gt; базується на лідері; лідер обробляє всі клієнтські запити, які потребують консенсусу кластера. Однак клієнт не повинен знати, який вузол є лідером. Будь-який запит, що вимагає консенсусу, надісланий до послідовника, автоматично пересилається до лідера. Запити, які не потребують консенсусу (наприклад, серіалізовані читання), можуть оброблятися будь-яким членом кластера.&lt;/p&gt;</description></item><item><title>ЧаПи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/faq/</guid><description>&lt;h2 id="etcd-general"&gt;etcd, загальні питання&lt;a class="td-heading-self-link" href="#etcd-general" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="what-is-etcd"&gt;Що таке etcd?&lt;a class="td-heading-self-link" href="#what-is-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;etcd — це консистентне розподілене сховище ключ-значення. Головним чином використовується як окрема служба координації в розподілених системах. Розроблено для зберігання невеликої кількості даних, які можуть повністю поміститися в памʼяті.&lt;/p&gt;
&lt;h3 id="how-do-you-pronounce-etcd"&gt;Як вимовляється etcd?&lt;a class="td-heading-self-link" href="#how-do-you-pronounce-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;etcd вимовляється &lt;strong&gt;/ˈɛtsiːdiː/&lt;/strong&gt; і означає &amp;ldquo;розподілена тека &lt;code&gt;etc&lt;/code&gt;.&amp;rdquo;&lt;/p&gt;
&lt;h3 id="do-clients-have-to-send-requests-to-the-etcd-leader"&gt;Чи повинні клієнти надсилати запити до лідера etcd?&lt;a class="td-heading-self-link" href="#do-clients-have-to-send-requests-to-the-etcd-leader" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://raft.github.io/raft.pdf"&gt;Raft&lt;/a&gt; базується на лідері; лідер обробляє всі клієнтські запити, які потребують консенсусу кластера. Однак клієнт не повинен знати, який вузол є лідером. Будь-який запит, що вимагає консенсусу, надісланий до послідовника, автоматично пересилається до лідера. Запити, які не потребують консенсусу (наприклад, серіалізовані читання), можуть оброблятися будь-яким членом кластера.&lt;/p&gt;</description></item><item><title>ЧаПи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/faq/</guid><description>&lt;h2 id="etcd-general"&gt;etcd, загальні питання&lt;a class="td-heading-self-link" href="#etcd-general" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="what-is-etcd"&gt;Що таке etcd?&lt;a class="td-heading-self-link" href="#what-is-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;etcd — це консистентне розподілене сховище ключ-значення. Головним чином використовується як окрема служба координації в розподілених системах. Розроблено для зберігання невеликої кількості даних, які можуть повністю поміститися в памʼяті.&lt;/p&gt;
&lt;h3 id="how-do-you-pronounce-etcd"&gt;Як вимовляється etcd?&lt;a class="td-heading-self-link" href="#how-do-you-pronounce-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;etcd вимовляється &lt;strong&gt;/ˈɛtsiːdiː/&lt;/strong&gt; і означає &amp;ldquo;розподілена тека &lt;code&gt;etc&lt;/code&gt;.&amp;rdquo;&lt;/p&gt;
&lt;h3 id="do-clients-have-to-send-requests-to-the-etcd-leader"&gt;Чи повинні клієнти надсилати запити до лідера etcd?&lt;a class="td-heading-self-link" href="#do-clients-have-to-send-requests-to-the-etcd-leader" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://raft.github.io/raft.pdf"&gt;Raft&lt;/a&gt; базується на лідері; лідер обробляє всі клієнтські запити, які потребують консенсусу кластера. Однак клієнт не повинен знати, який вузол є лідером. Будь-який запит, що вимагає консенсусу, надісланий до послідовника, автоматично пересилається до лідера. Запити, які не потребують консенсусу (наприклад, серіалізовані читання), можуть оброблятися будь-яким членом кластера.&lt;/p&gt;</description></item><item><title>ЧаПи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/faq/</guid><description>&lt;h2 id="etcd-general"&gt;etcd, загальні питання&lt;a class="td-heading-self-link" href="#etcd-general" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="what-is-etcd"&gt;Що таке etcd?&lt;a class="td-heading-self-link" href="#what-is-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;etcd — це консистентне розподілене сховище ключ-значення. Головним чином використовується як окрема служба координації в розподілених системах. Розроблено для зберігання невеликої кількості даних, які можуть повністю поміститися в памʼяті.&lt;/p&gt;
&lt;h3 id="how-do-you-pronounce-etcd"&gt;Як вимовляється etcd?&lt;a class="td-heading-self-link" href="#how-do-you-pronounce-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;etcd вимовляється &lt;strong&gt;/ˈɛtsiːdiː/&lt;/strong&gt; і означає &amp;ldquo;розподілена тека &lt;code&gt;etc&lt;/code&gt;.&amp;rdquo;&lt;/p&gt;
&lt;h3 id="do-clients-have-to-send-requests-to-the-etcd-leader"&gt;Чи повинні клієнти надсилати запити до лідера etcd?&lt;a class="td-heading-self-link" href="#do-clients-have-to-send-requests-to-the-etcd-leader" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://raft.github.io/raft.pdf"&gt;Raft&lt;/a&gt; базується на лідері; лідер обробляє всі клієнтські запити, які потребують консенсусу кластера. Однак клієнт не повинен знати, який вузол є лідером. Будь-який запит, що вимагає консенсусу, надісланий до послідовника, автоматично пересилається до лідера. Запити, які не потребують консенсусу (наприклад, серіалізовані читання), можуть оброблятися будь-яким членом кластера.&lt;/p&gt;</description></item><item><title>Бібліотеки та інструменти</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/integrations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/integrations/</guid><description>&lt;p&gt;Зверніть увагу, що сторонні бібліотеки та інструменти (не розміщені на &lt;a href="https://github.com/etcd-io"&gt;основному репозиторії etcd-io&lt;/a&gt;), згадані нижче, не тестуються та не підтримуються командою etcd. Перед їх використанням рекомендується ознайомитися з ними та провести власне розслідування.&lt;/p&gt;
&lt;h2 id="tools"&gt;Інструменти&lt;a class="td-heading-self-link" href="#tools" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/tree/master/etcdctl"&gt;etcdctl&lt;/a&gt; - Клієнт командного рядка для etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://npmjs.org/package/etcd-dump"&gt;etcd-dump&lt;/a&gt; - Утиліта командного рядка для дампу/відновлення etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/xetorthio/etcd-fs"&gt;etcd-fs&lt;/a&gt; - Файлова система FUSE для etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rekby/etcddir"&gt;etcddir&lt;/a&gt; - Синхронізація etcd та локальної теки в реальному часі. Робота з windows та linux..&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/henszey/etcd-browser"&gt;etcd-browser&lt;/a&gt; - Веб-редактор ключів/значень для etcd з використанням AngularJS&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/datawisesystems/etcd-lock"&gt;etcd-lock&lt;/a&gt; - Реалізація вибору майстра та розподіленого r/w блокування з використанням etcd - Підтримує v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/matishsiao/etcd-console"&gt;etcd-console&lt;/a&gt; - Веб-редактор ключів/значень для etcd з використанням PHP&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nikfoundas/etcd-viewer"&gt;etcd-viewer&lt;/a&gt; - Редактор/переглядач сховища ключів-значень etcd, написаний на Java&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mickep76/etcdtool"&gt;etcdtool&lt;/a&gt; - Експорт/Імпорт/Редагування теки etcd у форматах JSON/YAML/TOML та перевірка теки за допомогою JSON-схеми&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sinsharat/etcdloadtest"&gt;etcdloadtest&lt;/a&gt; - Клієнт командного рядка для навантажувального тестування etcd версії 3.0 і вище.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/olamilekan000/etcd-tui"&gt;etcd-tui&lt;/a&gt; - Сучасний інтерфейс користувача терміналу (TUI) для взаємодії з вашою базою даних etcd. Навігація ключами, перегляд значень, фільтрація даних та управління кластером etcd безпосередньо з терміналу.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdfinder.github.io"&gt;etcdfinder&lt;/a&gt; - Швидкий, сучасний вебінтерфейс для etcd з миттєвим пошуком. Підтримує як etcd v2, так і v3.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ringtail/lucas"&gt;lucas&lt;/a&gt; - Вебпереглядач ключів-значень для кластера kubernetes etcd3.0+.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdmanager.io"&gt;etcd-manager&lt;/a&gt; - Сучасний, ефективний, багатоплатформний та безкоштовний GUI та клієнтський інструмент для etcd 3.x. Доступний для Windows, Linux та Mac.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-backup-restore"&gt;etcd-backup-restore&lt;/a&gt; - Утиліта для періодичного та інкрементного резервного копіювання та відновлення etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-druid"&gt;etcd-druid&lt;/a&gt; - Оператор Kubernetes для розгортання кластерів etcd та управління операціями другого дня.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kubernetes-sigs/etcdadm"&gt;etcdadm&lt;/a&gt; - Інструмент командного рядка для управління кластером etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ahrtr/etcd-defrag"&gt;etcd-defrag&lt;/a&gt; - Зручний у використанні та розумний інструмент дефрагментації etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tsonglew/intellij-etcdhelper"&gt;etcdhelper&lt;/a&gt; - Втулок платформи intellij для etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tzfun/etcd-workbench"&gt;etcd-workbench&lt;/a&gt; - Безкоштовний та потужний UI-клієнт для etcd v3. Надає десктопний застосунок та вебпакети.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="libraries"&gt;Бібліотеки&lt;a class="td-heading-self-link" href="#libraries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Нижче наведено клієнтські бібліотеки etcd за мовами програмування.&lt;/p&gt;</description></item><item><title>Бібліотеки та інструменти</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/integrations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/integrations/</guid><description>&lt;p&gt;Зверніть увагу, що сторонні бібліотеки та інструменти (не розміщені на &lt;a href="https://github.com/etcd-io"&gt;основному репозиторії etcd-io&lt;/a&gt;), згадані нижче, не тестуються та не підтримуються командою etcd. Перед їх використанням рекомендується ознайомитися з ними та провести власне розслідування.&lt;/p&gt;
&lt;h2 id="tools"&gt;Інструменти&lt;a class="td-heading-self-link" href="#tools" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl"&gt;etcdctl&lt;/a&gt; - Клієнт командного рядка для etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://npmjs.org/package/etcd-dump"&gt;etcd-dump&lt;/a&gt; - Утиліта командного рядка для дампу/відновлення etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/xetorthio/etcd-fs"&gt;etcd-fs&lt;/a&gt; - Файлова система FUSE для etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rekby/etcddir"&gt;etcddir&lt;/a&gt; - Синхронізація etcd та локальної теки в реальному часі. Робота з windows та linux..&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/henszey/etcd-browser"&gt;etcd-browser&lt;/a&gt; - Веб-редактор ключів/значень для etcd з використанням AngularJS&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/datawisesystems/etcd-lock"&gt;etcd-lock&lt;/a&gt; - Реалізація вибору майстра та розподіленого r/w блокування з використанням etcd - Підтримує v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/matishsiao/etcd-console"&gt;etcd-console&lt;/a&gt; - Веб-редактор ключів/значень для etcd з використанням PHP&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nikfoundas/etcd-viewer"&gt;etcd-viewer&lt;/a&gt; - Редактор/переглядач сховища ключів-значень etcd, написаний на Java&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mickep76/etcdtool"&gt;etcdtool&lt;/a&gt; - Експорт/Імпорт/Редагування теки etcd у форматах JSON/YAML/TOML та перевірка теки за допомогою JSON-схеми&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sinsharat/etcdloadtest"&gt;etcdloadtest&lt;/a&gt; - Клієнт командного рядка для навантажувального тестування etcd версії 3.0 і вище.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/olamilekan000/etcd-tui"&gt;etcd-tui&lt;/a&gt; - Сучасний інтерфейс користувача терміналу (TUI) для взаємодії з вашою базою даних etcd. Навігація ключами, перегляд значень, фільтрація даних та управління кластером etcd безпосередньо з терміналу.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdfinder.github.io"&gt;etcdfinder&lt;/a&gt; - Швидкий, сучасний вебінтерфейс для etcd з миттєвим пошуком. Підтримує як etcd v2, так і v3.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ringtail/lucas"&gt;lucas&lt;/a&gt; - Вебпереглядач ключів-значень для кластера kubernetes etcd3.0+.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdmanager.io"&gt;etcd-manager&lt;/a&gt; - Сучасний, ефективний, багатоплатформний та безкоштовний GUI та клієнтський інструмент для etcd 3.x. Доступний для Windows, Linux та Mac.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-backup-restore"&gt;etcd-backup-restore&lt;/a&gt; - Утиліта для періодичного та інкрементного резервного копіювання та відновлення etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-druid"&gt;etcd-druid&lt;/a&gt; - Оператор Kubernetes для розгортання кластерів etcd та управління операціями другого дня.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kubernetes-sigs/etcdadm"&gt;etcdadm&lt;/a&gt; - Інструмент командного рядка для управління кластером etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ahrtr/etcd-defrag"&gt;etcd-defrag&lt;/a&gt; - Зручний у використанні та розумний інструмент дефрагментації etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tsonglew/intellij-etcdhelper"&gt;etcdhelper&lt;/a&gt; - Втулок платформи intellij для etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tzfun/etcd-workbench"&gt;etcd-workbench&lt;/a&gt; - Безкоштовний та потужний UI-клієнт для etcd v3. Надає десктопний застосунок та вебпакети.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="libraries"&gt;Бібліотеки&lt;a class="td-heading-self-link" href="#libraries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Нижче наведено клієнтські бібліотеки etcd за мовами програмування.&lt;/p&gt;</description></item><item><title>Бібліотеки та інструменти</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/integrations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/integrations/</guid><description>&lt;p&gt;Зверніть увагу, що сторонні бібліотеки та інструменти (не розміщені на &lt;a href="https://github.com/etcd-io"&gt;https://github.com/etcd-io&lt;/a&gt;), згадані нижче, не тестуються та не підтримуються командою etcd. Перед їх використанням рекомендується ознайомитися з ними та провести власне розслідування.&lt;/p&gt;
&lt;h2 id="tools"&gt;Інструменти&lt;a class="td-heading-self-link" href="#tools" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl"&gt;etcdctl&lt;/a&gt; - Клієнт командного рядка для etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://npmjs.org/package/etcd-dump"&gt;etcd-dump&lt;/a&gt; - Утиліта командного рядка для дампу/відновлення etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/xetorthio/etcd-fs"&gt;etcd-fs&lt;/a&gt; - Файлова система FUSE для etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rekby/etcddir"&gt;etcddir&lt;/a&gt; - Синхронізація etcd та локальної теки в реальному часі. Робота з windows та linux..&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/henszey/etcd-browser"&gt;etcd-browser&lt;/a&gt; - Веб-редактор ключів/значень для etcd з використанням AngularJS&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/datawisesystems/etcd-lock"&gt;etcd-lock&lt;/a&gt; - Реалізація вибору майстра та розподіленого r/w блокування з використанням etcd - Підтримує v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/matishsiao/etcd-console"&gt;etcd-console&lt;/a&gt; - Веб-редактор ключів/значень для etcd з використанням PHP&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nikfoundas/etcd-viewer"&gt;etcd-viewer&lt;/a&gt; - Редактор/переглядач сховища ключів-значень etcd, написаний на Java&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mickep76/etcdtool"&gt;etcdtool&lt;/a&gt; - Експорт/Імпорт/Редагування теки etcd у форматах JSON/YAML/TOML та перевірка теки за допомогою JSON-схеми&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sinsharat/etcdloadtest"&gt;etcdloadtest&lt;/a&gt; - Клієнт командного рядка для навантажувального тестування etcd версії 3.0 і вище.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/olamilekan000/etcd-tui"&gt;etcd-tui&lt;/a&gt; - Сучасний інтерфейс користувача терміналу (TUI) для взаємодії з вашою базою даних etcd. Навігація ключами, перегляд значень, фільтрація даних та управління кластером etcd безпосередньо з терміналу.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdfinder.github.io"&gt;etcdfinder&lt;/a&gt; - Швидкий, сучасний вебінтерфейс для etcd з миттєвим пошуком. Підтримує як etcd v2, так і v3.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ringtail/lucas"&gt;lucas&lt;/a&gt; - Вебпереглядач ключів-значень для кластера kubernetes etcd3.0+.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdmanager.io"&gt;etcd-manager&lt;/a&gt; - Сучасний, ефективний, багатоплатформний та безкоштовний GUI та клієнтський інструмент для etcd 3.x. Доступний для Windows, Linux та Mac.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-backup-restore"&gt;etcd-backup-restore&lt;/a&gt; - Утиліта для періодичного та інкрементного резервного копіювання та відновлення etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-druid"&gt;etcd-druid&lt;/a&gt; - Оператор Kubernetes для розгортання кластерів etcd та управління операціями другого дня.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kubernetes-sigs/etcdadm"&gt;etcdadm&lt;/a&gt; - Інструмент командного рядка для управління кластером etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ahrtr/etcd-defrag"&gt;etcd-defrag&lt;/a&gt; - Зручний у використанні та розумний інструмент дефрагментації etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tsonglew/intellij-etcdhelper"&gt;etcdhelper&lt;/a&gt; - Втулок платформи intellij для etcd.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="libraries"&gt;Бібліотеки&lt;a class="td-heading-self-link" href="#libraries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Нижче наведено клієнтські бібліотеки etcd за мовами програмування.&lt;/p&gt;</description></item><item><title>Бібліотеки та інструменти</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/integrations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/integrations/</guid><description>&lt;p&gt;Зверніть увагу, що сторонні бібліотеки та інструменти (не розміщені на &lt;a href="https://github.com/etcd-io"&gt;https://github.com/etcd-io&lt;/a&gt;), згадані нижче, не тестуються та не підтримуються командою etcd. Перед їх використанням рекомендується ознайомитися з ними та провести власне розслідування.&lt;/p&gt;
&lt;h2 id="tools"&gt;Інструменти&lt;a class="td-heading-self-link" href="#tools" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl"&gt;etcdctl&lt;/a&gt; - Клієнт командного рядка для etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://npmjs.org/package/etcd-dump"&gt;etcd-dump&lt;/a&gt; - Утиліта командного рядка для дампу/відновлення etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/xetorthio/etcd-fs"&gt;etcd-fs&lt;/a&gt; - Файлова система FUSE для etcd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rekby/etcddir"&gt;etcddir&lt;/a&gt; - Синхронізація etcd та локальної теки в реальному часі. Робота з windows та linux..&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/henszey/etcd-browser"&gt;etcd-browser&lt;/a&gt; - Веб-редактор ключів/значень для etcd з використанням AngularJS&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/datawisesystems/etcd-lock"&gt;etcd-lock&lt;/a&gt; - Реалізація вибору майстра та розподіленого r/w блокування з використанням etcd - Підтримує v2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/matishsiao/etcd-console"&gt;etcd-console&lt;/a&gt; - Веб-редактор ключів/значень для etcd з використанням PHP&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nikfoundas/etcd-viewer"&gt;etcd-viewer&lt;/a&gt; - Редактор/переглядач сховища ключів-значень etcd, написаний на Java&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mickep76/etcdtool"&gt;etcdtool&lt;/a&gt; - Експорт/Імпорт/Редагування теки etcd у форматах JSON/YAML/TOML та перевірка теки за допомогою JSON-схеми&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sinsharat/etcdloadtest"&gt;etcdloadtest&lt;/a&gt; - Клієнт командного рядка для навантажувального тестування etcd версії 3.0 і вище.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/olamilekan000/etcd-tui"&gt;etcd-tui&lt;/a&gt; - Сучасний інтерфейс користувача терміналу (TUI) для взаємодії з вашою базою даних etcd. Навігація ключами, перегляд значень, фільтрація даних та управління кластером etcd безпосередньо з терміналу.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdfinder.github.io"&gt;etcdfinder&lt;/a&gt; - Швидкий, сучасний вебінтерфейс для etcd з миттєвим пошуком. Підтримує як etcd v2, так і v3.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ringtail/lucas"&gt;lucas&lt;/a&gt; - Вебпереглядач ключів-значень для кластера kubernetes etcd3.0+.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcdmanager.io"&gt;etcd-manager&lt;/a&gt; - Сучасний, ефективний, багатоплатформний та безкоштовний GUI та клієнтський інструмент для etcd 3.x. Доступний для Windows, Linux та Mac.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-backup-restore"&gt;etcd-backup-restore&lt;/a&gt; - Утиліта для періодичного та інкрементного резервного копіювання та відновлення etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardener/etcd-druid"&gt;etcd-druid&lt;/a&gt; - Оператор Kubernetes для розгортання кластерів etcd та управління операціями другого дня.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kubernetes-sigs/etcdadm"&gt;etcdadm&lt;/a&gt; - Інструмент командного рядка для управління кластером etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ahrtr/etcd-defrag"&gt;etcd-defrag&lt;/a&gt; - Зручний у використанні та розумний інструмент дефрагментації etcd.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tsonglew/intellij-etcdhelper"&gt;etcdhelper&lt;/a&gt; - Втулок платформи intellij для etcd.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="libraries"&gt;Бібліотеки&lt;a class="td-heading-self-link" href="#libraries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Нижче наведено клієнтські бібліотеки etcd за мовами програмування.&lt;/p&gt;</description></item><item><title>Як додавати та видаляти учасників</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-deal-with-membership/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tutorials/how-to-deal-with-membership/</guid><description>&lt;p&gt;Використовуйте &lt;code&gt;member&lt;/code&gt; для додавання, видалення, оновлення членства:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для кожної машини&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;my-etcd-token-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.13
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.15
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Потім замініть учасника за допомогою команд &lt;code&gt;member remove&lt;/code&gt; та &lt;code&gt;member add&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Як додавати та видаляти учасників</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/how-to-deal-with-membership/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tasks/operator/how-to-deal-with-membership/</guid><description>&lt;p&gt;Використовуйте &lt;code&gt;member&lt;/code&gt; для додавання, видалення, оновлення членства:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для кожної машини&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;my-etcd-token-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.13
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.15
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Потім замініть учасника за допомогою команд &lt;code&gt;member remove&lt;/code&gt; та &lt;code&gt;member add&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Як додавати та видаляти учасників</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/how-to-deal-with-membership/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tasks/operator/how-to-deal-with-membership/</guid><description>&lt;p&gt;Використовуйте &lt;code&gt;member&lt;/code&gt; для додавання, видалення, оновлення членства:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для кожної машини&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;my-etcd-token-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.13
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.15
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Потім замініть учасника за допомогою команд &lt;code&gt;member remove&lt;/code&gt; та &lt;code&gt;member add&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Як додавати та видаляти учасників</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/how-to-deal-with-membership/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tasks/operator/how-to-deal-with-membership/</guid><description>&lt;p&gt;Використовуйте &lt;code&gt;member&lt;/code&gt; для додавання, видалення, оновлення членства:&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" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для кожної машини&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;my-etcd-token-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;new
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;etcd-node-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.13
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.14
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.240.0.15
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380,&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Для вузла 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NAME_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;HOST_3&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd --data-dir&lt;span class="o"&gt;=&lt;/span&gt;data.etcd --name &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_NAME&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-advertise-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-peer-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2380 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--advertise-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--listen-client-urls http://&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;THIS_IP&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;:2379 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-state &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLUSTER_STATE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	--initial-cluster-token &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;TOKEN&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Потім замініть учасника за допомогою команд &lt;code&gt;member remove&lt;/code&gt; та &lt;code&gt;member add&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Повідомлення про помилки</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/reporting_bugs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/reporting_bugs/</guid><description>&lt;p&gt;Якщо будь-яка частина проєкту etcd має помилки або помилки в документації, будь ласка, повідомте нам, &lt;a href="https://github.com/etcd-io/etcd/issues/new"&gt;відкривши тікет&lt;/a&gt;. Ми ставимося до багів і помилок дуже серйозно і вважаємо, що жодна проблема не є занадто малою. Перед створенням звіту про помилку, будь ласка, перевірте, чи не існує вже звіт про ту ж проблему.&lt;/p&gt;
&lt;p&gt;Щоб зробити звіт про помилку точним і легким для розуміння, будь ласка, спробуйте створювати звіти про помилки, які є:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Конкретними. Включайте якомога більше деталей: яка версія, яке середовище, яка конфігурація тощо. Якщо помилка повʼязана з роботою сервера etcd, будь ласка, додайте журнал etcd (початковий журнал з конфігурацією etcd особливо важливий).&lt;/p&gt;</description></item><item><title>Повідомлення про помилки</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/reporting_bugs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/reporting_bugs/</guid><description>&lt;p&gt;Якщо будь-яка частина проєкту etcd має помилки або помилки в документації, будь ласка, повідомте нам, &lt;a href="https://github.com/etcd-io/etcd/issues/new"&gt;відкривши тікет&lt;/a&gt;. Ми ставимося до багів і помилок дуже серйозно і вважаємо, що жодна проблема не є занадто малою. Перед створенням звіту про помилку, будь ласка, перевірте, чи не існує вже звіт про ту ж проблему.&lt;/p&gt;
&lt;p&gt;Щоб зробити звіт про помилку точним і легким для розуміння, будь ласка, спробуйте створювати звіти про помилки, які є:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Конкретними. Включайте якомога більше деталей: яка версія, яке середовище, яка конфігурація тощо. Якщо помилка повʼязана з роботою сервера etcd, будь ласка, додайте журнал etcd (початковий журнал з конфігурацією etcd особливо важливий).&lt;/p&gt;</description></item><item><title>Повідомлення про помилки</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/reporting_bugs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/reporting_bugs/</guid><description>&lt;p&gt;Якщо будь-яка частина проєкту etcd має помилки або помилки в документації, будь ласка, повідомте нам, &lt;a href="https://github.com/etcd-io/etcd/issues/new"&gt;відкривши тікет&lt;/a&gt;. Ми ставимося до багів і помилок дуже серйозно і вважаємо, що жодна проблема не є занадто малою. Перед створенням звіту про помилку, будь ласка, перевірте, чи не існує вже звіт про ту ж проблему.&lt;/p&gt;
&lt;p&gt;Щоб зробити звіт про помилку точним і легким для розуміння, будь ласка, спробуйте створювати звіти про помилки, які є:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Конкретними. Включайте якомога більше деталей: яка версія, яке середовище, яка конфігурація тощо. Якщо помилка повʼязана з роботою сервера etcd, будь ласка, додайте журнал etcd (початковий журнал з конфігурацією etcd особливо важливий).&lt;/p&gt;</description></item><item><title>Повідомлення про помилки</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/reporting_bugs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/reporting_bugs/</guid><description>&lt;p&gt;Якщо будь-яка частина проєкту etcd має помилки або помилки в документації, будь ласка, повідомте нам, &lt;a href="https://github.com/etcd-io/etcd/issues/new"&gt;відкривши тікет&lt;/a&gt;. Ми ставимося до багів і помилок дуже серйозно і вважаємо, що жодна проблема не є занадто малою. Перед створенням звіту про помилку, будь ласка, перевірте, чи не існує вже звіт про ту ж проблему.&lt;/p&gt;
&lt;p&gt;Щоб зробити звіт про помилку точним і легким для розуміння, будь ласка, спробуйте створювати звіти про помилки, які є:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Конкретними. Включайте якомога більше деталей: яка версія, яке середовище, яка конфігурація тощо. Якщо помилка повʼязана з роботою сервера etcd, будь ласка, додайте журнал etcd (початковий журнал з конфігурацією etcd особливо важливий).&lt;/p&gt;</description></item><item><title>Налаштування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/tuning/</guid><description>&lt;p&gt;Типові налаштування в etcd повинні добре працювати для встановлень у локальній мережі, де середня затримка мережі низька. Однак, при використанні etcd між кількома дата-центрами або в мережах з високою затримкою, налаштування інтервалу такту та тайм-ауту виборів можуть потребувати налаштування.&lt;/p&gt;
&lt;p&gt;Мережа не є єдиним джерелом затримки. На кожен запит і відповідь можуть впливати повільні диски як на лідері, так і на послідовнику. Кожен з цих тайм-аутів представляє загальний час від запиту до успішної відповіді від іншої машини.&lt;/p&gt;</description></item><item><title>Налаштування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/tuning/</guid><description>&lt;p&gt;Типові налаштування в etcd повинні добре працювати для встановлень у локальній мережі, де середня затримка мережі низька. Однак, при використанні etcd між кількома дата-центрами або в мережах з високою затримкою, налаштування інтервалу такту та тайм-ауту виборів можуть потребувати налаштування.&lt;/p&gt;
&lt;p&gt;Мережа не є єдиним джерелом затримки. На кожен запит і відповідь можуть впливати повільні диски як на лідері, так і на послідовнику. Кожен з цих тайм-аутів представляє загальний час від запиту до успішної відповіді від іншої машини.&lt;/p&gt;</description></item><item><title>Налаштування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/tuning/</guid><description>&lt;p&gt;Типові налаштування в etcd повинні добре працювати для встановлень у локальній мережі, де середня затримка мережі низька. Однак, при використанні etcd між кількома дата-центрами або в мережах з високою затримкою, налаштування інтервалу такту та тайм-ауту виборів можуть потребувати налаштування.&lt;/p&gt;
&lt;p&gt;Мережа не є єдиним джерелом затримки. На кожен запит і відповідь можуть впливати повільні диски як на лідері, так і на послідовнику. Кожен з цих тайм-аутів представляє загальний час від запиту до успішної відповіді від іншої машини.&lt;/p&gt;</description></item><item><title>Налаштування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/tuning/</guid><description>&lt;p&gt;Типові налаштування в etcd повинні добре працювати для встановлень у локальній мережі, де середня затримка мережі низька. Однак, при використанні etcd між кількома дата-центрами або в мережах з високою затримкою, налаштування інтервалу такту та тайм-ауту виборів можуть потребувати налаштування.&lt;/p&gt;
&lt;p&gt;Мережа не є єдиним джерелом затримки. На кожен запит і відповідь можуть впливати повільні диски як на лідері, так і на послідовнику. Кожен з цих тайм-аутів представляє загальний час від запиту до успішної відповіді від іншої машини.&lt;/p&gt;</description></item><item><title>Протокол служби виявлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/discovery_protocol/</guid><description>&lt;p&gt;Протокол служби виявлення допомагає новому учаснику etcd виявити всіх інших учасників у фазі завантаження кластера за допомогою спільної URL-адреси виявлення.&lt;/p&gt;
&lt;p&gt;Протокол служби виявлення використовується &lt;em&gt;лише&lt;/em&gt; на етапі запуску кластера і не може застосовуватися для переналаштування під час роботи або моніторингу кластера.&lt;/p&gt;
&lt;p&gt;Протокол використовує новий токен виявлення для завантаження одного &lt;em&gt;унікального&lt;/em&gt; кластера etcd. Памʼятайте, що один токен виявлення може представляти лише один кластер etcd. Як тільки протокол виявлення на цьому токені починається, навіть якщо він переривається на півдорозі, його не можна використовувати для завантаження іншого кластера etcd.&lt;/p&gt;</description></item><item><title>Протокол служби виявлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-internal/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-internal/discovery_protocol/</guid><description>&lt;p&gt;Протокол служби виявлення допомагає новому учаснику etcd виявити всіх інших учасників у фазі завантаження кластера за допомогою спільної URL-адреси виявлення.&lt;/p&gt;
&lt;p&gt;Протокол служби виявлення використовується &lt;em&gt;лише&lt;/em&gt; на етапі запуску кластера і не може застосовуватися для переналаштування під час роботи або моніторингу кластера.&lt;/p&gt;
&lt;p&gt;Протокол використовує новий токен виявлення для завантаження одного &lt;em&gt;унікального&lt;/em&gt; кластера etcd. Памʼятайте, що один токен виявлення може представляти лише один кластер etcd. Як тільки протокол виявлення на цьому токені починається, навіть якщо він переривається на півдорозі, його не можна використовувати для завантаження іншого кластера etcd.&lt;/p&gt;</description></item><item><title>Протокол служби виявлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/discovery_protocol/</guid><description>&lt;p&gt;Протокол служби виявлення допомагає новому учаснику etcd виявити всіх інших учасників у фазі завантаження кластера за допомогою спільної URL-адреси виявлення.&lt;/p&gt;
&lt;p&gt;Протокол служби виявлення використовується &lt;em&gt;лише&lt;/em&gt; на етапі запуску кластера і не може застосовуватися для переналаштування під час роботи або моніторингу кластера.&lt;/p&gt;
&lt;p&gt;Протокол використовує новий токен виявлення для завантаження одного &lt;em&gt;унікального&lt;/em&gt; кластера etcd. Памʼятайте, що один токен виявлення може представляти лише один кластер etcd. Як тільки протокол виявлення на цьому токені починається, навіть якщо він переривається на півдорозі, його не можна використовувати для завантаження іншого кластера etcd.&lt;/p&gt;</description></item><item><title>Протокол служби виявлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-internal/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-internal/discovery_protocol/</guid><description>&lt;p&gt;Протокол служби виявлення допомагає новому учаснику etcd виявити всіх інших учасників у фазі завантаження кластера за допомогою спільного токена виявлення та списку точок доступу.&lt;/p&gt;
&lt;p&gt;Протокол служби виявлення використовується &lt;em&gt;лише&lt;/em&gt; на етапі запуску кластера і не може застосовуватися для переналаштування під час роботи або моніторингу кластера.&lt;/p&gt;
&lt;p&gt;Протокол використовує новий токен виявлення для завантаження одного &lt;em&gt;унікального&lt;/em&gt; кластера etcd. Памʼятайте, що один токен виявлення може представляти лише один кластер etcd. Як тільки протокол виявлення на цьому токені починається, навіть якщо він переривається на півдорозі, його не можна використовувати для завантаження іншого кластера etcd.&lt;/p&gt;</description></item><item><title>Протокол служби виявлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/discovery_protocol/</guid><description>&lt;p&gt;Протокол служби виявлення допомагає новому учаснику etcd виявити всіх інших учасників у фазі завантаження кластера за допомогою спільної URL-адреси виявлення.&lt;/p&gt;
&lt;p&gt;Протокол служби виявлення використовується &lt;em&gt;лише&lt;/em&gt; на етапі запуску кластера і не може застосовуватися для переналаштування під час роботи або моніторингу кластера.&lt;/p&gt;
&lt;p&gt;Протокол використовує новий токен виявлення для завантаження одного &lt;em&gt;унікального&lt;/em&gt; кластера etcd. Памʼятайте, що один токен виявлення може представляти лише один кластер etcd. Як тільки протокол виявлення на цьому токені починається, навіть якщо він переривається на півдорозі, його не можна використовувати для завантаження іншого кластера etcd.&lt;/p&gt;</description></item><item><title>Протокол служби виявлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-internal/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-internal/discovery_protocol/</guid><description>&lt;p&gt;Протокол служби виявлення допомагає новому учаснику etcd виявити всіх інших учасників у фазі завантаження кластера за допомогою спільного токена виявлення та списку точок доступу.&lt;/p&gt;
&lt;p&gt;Протокол служби виявлення використовується &lt;em&gt;лише&lt;/em&gt; на етапі запуску кластера і не може застосовуватися для переналаштування під час роботи або моніторингу кластера.&lt;/p&gt;
&lt;p&gt;Протокол використовує новий токен виявлення для завантаження одного &lt;em&gt;унікального&lt;/em&gt; кластера etcd. Памʼятайте, що один токен виявлення може представляти лише один кластер etcd. Як тільки протокол виявлення на цьому токені починається, навіть якщо він переривається на півдорозі, його не можна використовувати для завантаження іншого кластера etcd.&lt;/p&gt;</description></item><item><title>Протокол служби виявлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/discovery_protocol/</guid><description>&lt;p&gt;Протокол служби виявлення допомагає новому учаснику etcd виявити всіх інших учасників у фазі завантаження кластера за допомогою спільної URL-адреси виявлення.&lt;/p&gt;
&lt;p&gt;Протокол служби виявлення використовується &lt;em&gt;лише&lt;/em&gt; на етапі запуску кластера і не може застосовуватися для переналаштування під час роботи або моніторингу кластера.&lt;/p&gt;
&lt;p&gt;Протокол використовує новий токен виявлення для завантаження одного &lt;em&gt;унікального&lt;/em&gt; кластера etcd. Памʼятайте, що один токен виявлення може представляти лише один кластер etcd. Як тільки протокол виявлення на цьому токені починається, навіть якщо він переривається на півдорозі, його не можна використовувати для завантаження іншого кластера etcd.&lt;/p&gt;</description></item><item><title>Протокол служби виявлення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-internal/discovery_protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-internal/discovery_protocol/</guid><description>&lt;p&gt;Протокол служби виявлення допомагає новому учаснику etcd виявити всіх інших учасників у фазі завантаження кластера за допомогою спільного токена виявлення та списку точок доступу.&lt;/p&gt;
&lt;p&gt;Протокол служби виявлення використовується &lt;em&gt;лише&lt;/em&gt; на етапі запуску кластера і не може застосовуватися для переналаштування під час роботи або моніторингу кластера.&lt;/p&gt;
&lt;p&gt;Протокол використовує новий токен виявлення для завантаження одного &lt;em&gt;унікального&lt;/em&gt; кластера etcd. Памʼятайте, що один токен виявлення може представляти лише один кластер etcd. Як тільки протокол виявлення на цьому токені починається, навіть якщо він переривається на півдорозі, його не можна використовувати для завантаження іншого кластера etcd.&lt;/p&gt;</description></item><item><title>Домовленості ведення журналу</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-internal/logging/</guid><description>&lt;p&gt;etcd використовує бібліотеку &lt;a href="https://github.com/uber-go/zap"&gt;zap&lt;/a&gt; для ведення журналу виводу застосунків, категоризованого на &lt;em&gt;рівні&lt;/em&gt;. Рівень повідомлення журналу визначається відповідно до цих домовленостей:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Журнали DebugLevel зазвичай є обʼємними, і типово вимикаються у робочому середовищі.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Приклади:
&lt;ul&gt;
&lt;li&gt;Надсилання звичайного повідомлення до віддаленого вузла&lt;/li&gt;
&lt;li&gt;Запис елемента журналу на диск&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;InfoLevel є стандартним пріоритетом ведення журналу.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Приклади:
&lt;ul&gt;
&lt;li&gt;Конфігурація запуску&lt;/li&gt;
&lt;li&gt;Початок створення знімка&lt;/li&gt;
&lt;li&gt;Додавання нового вузла до кластера&lt;/li&gt;
&lt;li&gt;Додавання нового користувача до підсистеми автентифікації&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Журнали WarnLevel важливіші за Info, але не потребують окремого перегляду людиною.&lt;/p&gt;</description></item><item><title>Домовленості ведення журналу</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-internal/logging/</guid><description>&lt;p&gt;etcd використовує бібліотеку &lt;a href="https://github.com/uber-go/zap"&gt;zap&lt;/a&gt; для ведення журналу виводу застосунків, категоризованого на &lt;em&gt;рівні&lt;/em&gt;. Рівень повідомлення журналу визначається відповідно до цих домовленостей:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Журнали DebugLevel зазвичай є обʼємними, і типово вимикаються у робочому середовищі.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Приклади:
&lt;ul&gt;
&lt;li&gt;Надсилання звичайного повідомлення до віддаленого вузла&lt;/li&gt;
&lt;li&gt;Запис елемента журналу на диск&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;InfoLevel є стандартним пріоритетом ведення журналу.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Приклади:
&lt;ul&gt;
&lt;li&gt;Конфігурація запуску&lt;/li&gt;
&lt;li&gt;Початок створення знімка&lt;/li&gt;
&lt;li&gt;Додавання нового вузла до кластера&lt;/li&gt;
&lt;li&gt;Додавання нового користувача до підсистеми автентифікації&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Журнали WarnLevel важливіші за Info, але не потребують окремого перегляду людиною.&lt;/p&gt;</description></item><item><title>Домовленості ведення журналу</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-internal/logging/</guid><description>&lt;p&gt;etcd використовує бібліотеку &lt;a href="https://github.com/uber-go/zap"&gt;zap&lt;/a&gt; для ведення журналу виводу застосунків, категоризованого на &lt;em&gt;рівні&lt;/em&gt;. Рівень повідомлення журналу визначається відповідно до цих домовленостей:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Журнали DebugLevel зазвичай є обʼємними, і типово вимикаються у робочому середовищі.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Приклади:
&lt;ul&gt;
&lt;li&gt;Надсилання звичайного повідомлення до віддаленого вузла&lt;/li&gt;
&lt;li&gt;Запис елемента журналу на диск&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;InfoLevel є стандартним пріоритетом ведення журналу.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Приклади:
&lt;ul&gt;
&lt;li&gt;Конфігурація запуску&lt;/li&gt;
&lt;li&gt;Початок створення знімка&lt;/li&gt;
&lt;li&gt;Додавання нового вузла до кластера&lt;/li&gt;
&lt;li&gt;Додавання нового користувача до підсистеми автентифікації&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Журнали WarnLevel важливіші за Info, але не потребують окремого перегляду людиною.&lt;/p&gt;</description></item><item><title>Домовленості ведення журналу</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-internal/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-internal/logging/</guid><description>&lt;p&gt;etcd використовує бібліотеку &lt;a href="https://github.com/uber-go/zap"&gt;zap&lt;/a&gt; для ведення журналу виводу застосунків, категоризованого на &lt;em&gt;рівні&lt;/em&gt;. Рівень повідомлення журналу визначається відповідно до цих домовленостей:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Журнали DebugLevel зазвичай є обʼємними, і типово вимикаються у робочому середовищі.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Приклади:
&lt;ul&gt;
&lt;li&gt;Надсилання звичайного повідомлення до віддаленого вузла&lt;/li&gt;
&lt;li&gt;Запис елемента журналу на диск&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;InfoLevel є стандартним пріоритетом ведення журналу.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Приклади:
&lt;ul&gt;
&lt;li&gt;Конфігурація запуску&lt;/li&gt;
&lt;li&gt;Початок створення знімка&lt;/li&gt;
&lt;li&gt;Додавання нового вузла до кластера&lt;/li&gt;
&lt;li&gt;Додавання нового користувача до підсистеми автентифікації&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Журнали WarnLevel важливіші за Info, але не потребують окремого перегляду людиною.&lt;/p&gt;</description></item><item><title>Модулі Golang</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-internal/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-internal/modules/</guid><description>&lt;p&gt;Проєкт etcd (з версії 3.5) організований у кілька &lt;a href="https://golang.org/ref/mod"&gt;golang модулів&lt;/a&gt;, розміщених в &lt;a href="https://golang.org/ref/mod#vcs-dir"&gt;одному репозиторії&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://andygol-etcd.netlify.app/docs/v3.5/dev-internal/img/modules.svg" alt="схема модулів"&gt;&lt;/p&gt;
&lt;p&gt;Існують наступні модулі:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/api/v3&lt;/strong&gt; — містить визначення API (наприклад, протоколи та бібліотеки, згенеровані протоколами), що визначають протокол звʼязку між клієнтами та сервером etcd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/pkg/v3&lt;/strong&gt; — колекція пакунків утиліт, що використовуються etcd без привʼязки до самого etcd. Пакунок є належним тут лише якщо його можна буде в майбутньому перемістити в окремий репозиторій. Будь ласка, уникайте додавання сюди коду, який має багато залежностей, оскільки вони автоматично стають залежностями клієнтської бібліотеки (яку ми хочемо зберегти легкою).&lt;/p&gt;</description></item><item><title>Модулі Golang</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-internal/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-internal/modules/</guid><description>&lt;p&gt;Проєкт etcd (з версії 3.5) організований у кілька &lt;a href="https://golang.org/ref/mod"&gt;golang модулів&lt;/a&gt;, розміщених в &lt;a href="https://golang.org/ref/mod#vcs-dir"&gt;одному репозиторії&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://andygol-etcd.netlify.app/docs/v3.6/dev-internal/img/modules.svg" alt="схема модулів"&gt;&lt;/p&gt;
&lt;p&gt;Існують наступні модулі:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/api/v3&lt;/strong&gt; — містить визначення API (наприклад, протоколи та бібліотеки, згенеровані протоколами), що визначають протокол звʼязку між клієнтами та сервером etcd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/pkg/v3&lt;/strong&gt; — колекція пакунків утиліт, що використовуються etcd без привʼязки до самого etcd. Пакунок є належним тут лише якщо його можна буде в майбутньому перемістити в окремий репозиторій. Будь ласка, уникайте додавання сюди коду, який має багато залежностей, оскільки вони автоматично стають залежностями клієнтської бібліотеки (яку ми хочемо зберегти легкою).&lt;/p&gt;</description></item><item><title>Модулі Golang</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-internal/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-internal/modules/</guid><description>&lt;p&gt;Проєкт etcd (з версії 3.5) організований у кілька &lt;a href="https://golang.org/ref/mod"&gt;golang модулів&lt;/a&gt;, розміщених в &lt;a href="https://golang.org/ref/mod#vcs-dir"&gt;одному репозиторії&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://andygol-etcd.netlify.app/docs/v3.7/dev-internal/img/modules.svg" alt="схема модулів"&gt;&lt;/p&gt;
&lt;p&gt;Існують наступні модулі:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/api/v3&lt;/strong&gt; — містить визначення API (наприклад, протоколи та бібліотеки, згенеровані протоколами), що визначають протокол звʼязку між клієнтами та сервером etcd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/pkg/v3&lt;/strong&gt; — колекція пакунків утиліт, що використовуються etcd без привʼязки до самого etcd. Пакунок є належним тут лише якщо його можна буде в майбутньому перемістити в окремий репозиторій. Будь ласка, уникайте додавання сюди коду, який має багато залежностей, оскільки вони автоматично стають залежностями клієнтської бібліотеки (яку ми хочемо зберегти легкою).&lt;/p&gt;</description></item><item><title>Модулі Golang</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-internal/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-internal/modules/</guid><description>&lt;p&gt;Проєкт etcd (з версії 3.5) організований у кілька &lt;a href="https://golang.org/ref/mod"&gt;golang модулів&lt;/a&gt;, розміщених в &lt;a href="https://golang.org/ref/mod#vcs-dir"&gt;одному репозиторії&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://andygol-etcd.netlify.app/docs/v3.8/dev-internal/img/modules.svg" alt="схема модулів"&gt;&lt;/p&gt;
&lt;p&gt;Існують наступні модулі:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/api/v3&lt;/strong&gt; — містить визначення API (наприклад, протоколи та бібліотеки, згенеровані протоколами), що визначають протокол звʼязку між клієнтами та сервером etcd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;go.etcd.io/etcd/pkg/v3&lt;/strong&gt; — колекція пакунків утиліт, що використовуються etcd без привʼязки до самого etcd. Пакунок є належним тут лише якщо його можна буде в майбутньому перемістити в окремий репозиторій. Будь ласка, уникайте додавання сюди коду, який має багато залежностей, оскільки вони автоматично стають залежностями клієнтської бібліотеки (яку ми хочемо зберегти легкою).&lt;/p&gt;</description></item><item><title>Модель даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/data_model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/data_model/</guid><description>&lt;p&gt;etcd розроблений для надійного зберігання даних, які рідко оновлюються, та забезпечення надійних запитів на спостереження. etcd надає попередні версії пар ключ-значення для підтримки недорогих знімків та історії подій спостереження (“запити подорожей у часі”). Постійна, багатоверсійна, модель даних з контролем паралельності добре підходить для цих випадків використання.&lt;/p&gt;
&lt;p&gt;etcd зберігає дані у багатоверсійному &lt;a href="https://en.wikipedia.org/wiki/Persistent_data_structure"&gt;постійному&lt;/a&gt; сховищі ключ-значення. Постійне сховище ключ-значення зберігає попередню версію пари ключ-значення, коли її значення замінюється новими даними. Сховище ключ-значення фактично є незмінним; його операції не оновлюють структуру на місці, а завжди створюють нову оновлену структуру. Усі минулі версії ключів залишаються доступними та спостережуваними після модифікації. Щоб запобігти нескінченному зростанню сховища даних з часом та зберіганню старих версій, сховище може бути стиснуте для видалення найстаріших версій замінених даних.&lt;/p&gt;</description></item><item><title>Модель даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/data_model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/data_model/</guid><description>&lt;p&gt;etcd розроблений для надійного зберігання даних, які рідко оновлюються, та забезпечення надійних запитів на спостереження. etcd надає попередні версії пар ключ-значення для підтримки недорогих знімків та історії подій спостереження (“запити подорожей у часі”). Постійна, багатоверсійна, модель даних з контролем паралельності добре підходить для цих випадків використання.&lt;/p&gt;
&lt;p&gt;etcd зберігає дані у багатоверсійному &lt;a href="https://en.wikipedia.org/wiki/Persistent_data_structure"&gt;постійному&lt;/a&gt; сховищі ключ-значення. Постійне сховище ключ-значення зберігає попередню версію пари ключ-значення, коли її значення замінюється новими даними. Сховище ключ-значення фактично є незмінним; його операції не оновлюють структуру на місці, а завжди створюють нову оновлену структуру. Усі минулі версії ключів залишаються доступними та спостережуваними після модифікації. Щоб запобігти нескінченному зростанню сховища даних з часом та зберіганню старих версій, сховище може бути стиснуте для видалення найстаріших версій замінених даних.&lt;/p&gt;</description></item><item><title>Модель даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/data_model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/data_model/</guid><description>&lt;p&gt;etcd розроблений для надійного зберігання даних, які рідко оновлюються, та забезпечення надійних запитів на спостереження. etcd надає попередні версії пар ключ-значення для підтримки недорогих знімків та історії подій спостереження (“запити подорожей у часі”). Постійна, багатоверсійна, модель даних з контролем паралельності добре підходить для цих випадків використання.&lt;/p&gt;
&lt;p&gt;etcd зберігає дані у багатоверсійному &lt;a href="https://en.wikipedia.org/wiki/Persistent_data_structure"&gt;постійному&lt;/a&gt; сховищі ключ-значення. Постійне сховище ключ-значення зберігає попередню версію пари ключ-значення, коли її значення замінюється новими даними. Сховище ключ-значення фактично є незмінним; його операції не оновлюють структуру на місці, а завжди створюють нову оновлену структуру. Усі минулі версії ключів залишаються доступними та спостережуваними після модифікації. Щоб запобігти нескінченному зростанню сховища даних з часом та зберіганню старих версій, сховище може бути стиснуте для видалення найстаріших версій замінених даних.&lt;/p&gt;</description></item><item><title>Модель даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/data_model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/data_model/</guid><description>&lt;p&gt;etcd розроблений для надійного зберігання даних, які рідко оновлюються, та забезпечення надійних запитів на спостереження. etcd надає попередні версії пар ключ-значення для підтримки недорогих знімків та історії подій спостереження (“запити подорожей у часі”). Постійна, багатоверсійна, модель даних з контролем паралельності добре підходить для цих випадків використання.&lt;/p&gt;
&lt;p&gt;etcd зберігає дані у багатоверсійному &lt;a href="https://en.wikipedia.org/wiki/Persistent_data_structure"&gt;постійному&lt;/a&gt; сховищі ключ-значення. Постійне сховище ключ-значення зберігає попередню версію пари ключ-значення, коли її значення замінюється новими даними. Сховище ключ-значення фактично є незмінним; його операції не оновлюють структуру на місці, а завжди створюють нову оновлену структуру. Усі минулі версії ключів залишаються доступними та спостережуваними після модифікації. Щоб запобігти нескінченному зростанню сховища даних з часом та зберіганню старих версій, сховище може бути стиснуте для видалення найстаріших версій замінених даних.&lt;/p&gt;</description></item><item><title>Дизайн клієнта etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/design-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/design-client/</guid><description>&lt;h2 id="etcd-client-design"&gt;Дизайн клієнта etcd&lt;a class="td-heading-self-link" href="#etcd-client-design" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="introduction"&gt;Вступ&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сервер etcd довів свою надійність за роки тестування з інʼєкціями відмов. Більшість складної логіки застосунків вже обробляється сервером etcd та його сховищами даних (наприклад, членство в кластері є прозорим для клієнтів, з пересиланням пропозицій на лідера на рівні Raft). Хоча компоненти сервера є правильними, його поєднання з клієнтом вимагає іншого набору складних протоколів для забезпечення його правильності та високої доступності в умовах збоїв. Ідеально, сервер etcd надає один логічний вигляд кластера з багатьох фізичних машин, а клієнт реалізує автоматичне перемикання між репліками. Цей документ описує архітектурні рішення клієнта та деталі їх реалізації.&lt;/p&gt;</description></item><item><title>Дизайн клієнта etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/design-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/design-client/</guid><description>&lt;h2 id="etcd-client-design"&gt;Дизайн клієнта etcd&lt;a class="td-heading-self-link" href="#etcd-client-design" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="introduction"&gt;Вступ&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сервер etcd довів свою надійність за роки тестування з інʼєкціями відмов. Більшість складної логіки застосунків вже обробляється сервером etcd та його сховищами даних (наприклад, членство в кластері є прозорим для клієнтів, з пересиланням пропозицій на лідера на рівні Raft). Хоча компоненти сервера є правильними, його поєднання з клієнтом вимагає іншого набору складних протоколів для забезпечення його правильності та високої доступності в умовах збоїв. Ідеально, сервер etcd надає один логічний вигляд кластера з багатьох фізичних машин, а клієнт реалізує автоматичне перемикання між репліками. Цей документ описує архітектурні рішення клієнта та деталі їх реалізації.&lt;/p&gt;</description></item><item><title>Дизайн клієнта etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/design-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/design-client/</guid><description>&lt;h2 id="etcd-client-design"&gt;Дизайн клієнта etcd&lt;a class="td-heading-self-link" href="#etcd-client-design" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="introduction"&gt;Вступ&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сервер etcd довів свою надійність за роки тестування з інʼєкціями відмов. Більшість складної логіки застосунків вже обробляється сервером etcd та його сховищами даних (наприклад, членство в кластері є прозорим для клієнтів, з пересиланням пропозицій на лідера на рівні Raft). Хоча компоненти сервера є правильними, його поєднання з клієнтом вимагає іншого набору складних протоколів для забезпечення його правильності та високої доступності в умовах збоїв. Ідеально, сервер etcd надає один логічний вигляд кластера з багатьох фізичних машин, а клієнт реалізує автоматичне перемикання між репліками. Цей документ описує архітектурні рішення клієнта та деталі їх реалізації.&lt;/p&gt;</description></item><item><title>Дизайн клієнта etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/design-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/design-client/</guid><description>&lt;h2 id="etcd-client-design"&gt;Дизайн клієнта etcd&lt;a class="td-heading-self-link" href="#etcd-client-design" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="introduction"&gt;Вступ&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сервер etcd довів свою надійність за роки тестування з інʼєкціями відмов. Більшість складної логіки застосунків вже обробляється сервером etcd та його сховищами даних (наприклад, членство в кластері є прозорим для клієнтів, з пересиланням пропозицій на лідера на рівні Raft). Хоча компоненти сервера є правильними, його поєднання з клієнтом вимагає іншого набору складних протоколів для забезпечення його правильності та високої доступності в умовах збоїв. Ідеально, сервер etcd надає один логічний вигляд кластера з багатьох фізичних машин, а клієнт реалізує автоматичне перемикання між репліками. Цей документ описує архітектурні рішення клієнта та деталі їх реалізації.&lt;/p&gt;</description></item><item><title>Дизайн learner etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/design-learner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/design-learner/</guid><description>&lt;h2 id="etcd-learner"&gt;etcd Learner&lt;a class="td-heading-self-link" href="#etcd-learner" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Переналаштування членства було однією з найбільших операційних проблем. Розгляньмо поширені проблеми.&lt;/p&gt;
&lt;h3 id="1-new-cluster-member-overloads-leader"&gt;1. Новий член кластера перевантажує Лідера&lt;a class="td-heading-self-link" href="#1-new-cluster-member-overloads-leader" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Новий член etcd починає без даних, тому вимагає більше оновлень від лідера, поки не наздожене журнали лідера. Тоді мережа лідера більш ймовірно буде перевантажена, блокуючи або скидаючи такти лідера до послідовників. У такому випадку послідовник може вийти з тайм-ауту виборів і почати нові вибори лідера. Тобто кластер з новим членом більш вразливий до виборів лідера. І вибори лідера, і подальше розповсюдження оновлень новому члену схильні викликати періоди недоступності кластера (див. &lt;em&gt;Рисунок 1&lt;/em&gt;).&lt;/p&gt;</description></item><item><title>Дизайн learner у etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/design-learner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/design-learner/</guid><description>&lt;h2 id="etcd-learner"&gt;etcd Learner&lt;a class="td-heading-self-link" href="#etcd-learner" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="background"&gt;Передумови&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Переналаштування членства було однією з найбільших операційних проблем. Розгляньмо поширені виклики.&lt;/p&gt;
&lt;h3 id="1-new-cluster-member-overloads-leader"&gt;1. Новий член кластера перевантажує Лідера&lt;a class="td-heading-self-link" href="#1-new-cluster-member-overloads-leader" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Новий член etcd починає без даних, тому вимагає більше оновлень від лідера, поки не наздожене журнали лідера. Тоді мережа лідера більш ймовірно буде перевантажена, блокуючи або скидаючи повідомлення про такт лідера до послідовників. У такому випадку послідовник може завершити тайм-аут виборів і почати нові вибори лідера. Тобто кластер з новим членом більш вразливий до виборів лідера. І вибори лідера, і подальше розповсюдження оновлень новому члену схильні викликати періоди недоступності кластера (див. &lt;em&gt;Рисунок 1&lt;/em&gt;).&lt;/p&gt;</description></item><item><title>Дизайн learner у etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/design-learner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/design-learner/</guid><description>&lt;h2 id="etcd-learner"&gt;etcd Learner&lt;a class="td-heading-self-link" href="#etcd-learner" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="background"&gt;Передумови&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Переналаштування членства було однією з найбільших операційних проблем. Розгляньмо поширені виклики.&lt;/p&gt;
&lt;h3 id="1-new-cluster-member-overloads-leader"&gt;1. Новий член кластера перевантажує Лідера&lt;a class="td-heading-self-link" href="#1-new-cluster-member-overloads-leader" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Новий член etcd починає без даних, тому вимагає більше оновлень від лідера, поки не наздожене журнали лідера. Тоді мережа лідера більш ймовірно буде перевантажена, блокуючи або скидаючи повідомлення про такт лідера до послідовників. У такому випадку послідовник може завершити тайм-аут виборів і почати нові вибори лідера. Тобто кластер з новим членом більш вразливий до виборів лідера. І вибори лідера, і подальше розповсюдження оновлень новому члену схильні викликати періоди недоступності кластера (див. &lt;em&gt;Рисунок 1&lt;/em&gt;).&lt;/p&gt;</description></item><item><title>Дизайн learner у etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/design-learner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/design-learner/</guid><description>&lt;h2 id="etcd-learner"&gt;etcd Learner&lt;a class="td-heading-self-link" href="#etcd-learner" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="background"&gt;Передумови&lt;a class="td-heading-self-link" href="#background" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Переналаштування членства було однією з найбільших операційних проблем. Розгляньмо поширені виклики.&lt;/p&gt;
&lt;h3 id="1-new-cluster-member-overloads-leader"&gt;1. Новий член кластера перевантажує Лідера&lt;a class="td-heading-self-link" href="#1-new-cluster-member-overloads-leader" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Новий член etcd починає без даних, тому вимагає більше оновлень від лідера, поки не наздожене журнали лідера. Тоді мережа лідера більш ймовірно буде перевантажена, блокуючи або скидаючи повідомлення про такт лідера до послідовників. У такому випадку послідовник може завершити тайм-аут виборів і почати нові вибори лідера. Тобто кластер з новим членом більш вразливий до виборів лідера. І вибори лідера, і подальше розповсюдження оновлень новому члену схильні викликати періоди недоступності кластера (див. &lt;em&gt;Рисунок 1&lt;/em&gt;).&lt;/p&gt;</description></item><item><title>Дизайн автентифікації в etcd v3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/design-auth-v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/design-auth-v3/</guid><description>&lt;h2 id="why-not-reuse-the-v2-auth-system"&gt;Чому не використовувати систему автентифікації v2?&lt;a class="td-heading-self-link" href="#why-not-reuse-the-v2-auth-system" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Протокол v3 використовує gRPC як транспорт замість RESTful інтерфейсу, як у v2. Цей новий протокол надає можливість покращити дизайн v2. Наприклад, автентифікація v3 базується на зʼєднанні, а не на кожному запиті, як у v2. Крім того, семантика автентифікації v2 на практиці є незручною з погляду узгодженості, що буде описано в наступних розділах. Для v3 є чіткий опис та реалізація механізму автентифікації, який виправляє недоліки системи автентифікації v2.&lt;/p&gt;</description></item><item><title>Дизайн автентифікації в etcd v3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/design-auth-v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/design-auth-v3/</guid><description>&lt;h2 id="why-not-reuse-the-v2-auth-system"&gt;Чому не використовувати систему автентифікації v2?&lt;a class="td-heading-self-link" href="#why-not-reuse-the-v2-auth-system" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Протокол v3 використовує gRPC як транспорт замість RESTful інтерфейсу, як у v2. Цей новий протокол надає можливість покращити дизайн v2. Наприклад, автентифікація v3 базується на зʼєднанні, а не на кожному запиті, як у v2. Крім того, семантика автентифікації v2 на практиці є незручною з погляду узгодженості, що буде описано в наступних розділах. Для v3 є чіткий опис та реалізація механізму автентифікації, який виправляє недоліки системи автентифікації v2.&lt;/p&gt;</description></item><item><title>Дизайн автентифікації в etcd v3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/design-auth-v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/design-auth-v3/</guid><description>&lt;h2 id="why-not-reuse-the-v2-auth-system"&gt;Чому не використовувати систему автентифікації v2?&lt;a class="td-heading-self-link" href="#why-not-reuse-the-v2-auth-system" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Протокол v3 використовує gRPC як транспорт замість RESTful інтерфейсу, як у v2. Цей новий протокол надає можливість покращити дизайн v2. Наприклад, автентифікація v3 базується на зʼєднанні, а не на кожному запиті, як у v2. Крім того, семантика автентифікації v2 на практиці є незручною з погляду узгодженості, що буде описано в наступних розділах. Для v3 є чіткий опис та реалізація механізму автентифікації, який виправляє недоліки системи автентифікації v2.&lt;/p&gt;</description></item><item><title>Дизайн автентифікації в etcd v3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/design-auth-v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/design-auth-v3/</guid><description>&lt;h2 id="why-not-reuse-the-v2-auth-system"&gt;Чому не використовувати систему автентифікації v2?&lt;a class="td-heading-self-link" href="#why-not-reuse-the-v2-auth-system" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Протокол v3 використовує gRPC як транспорт замість RESTful інтерфейсу, як у v2. Цей новий протокол надає можливість покращити дизайн v2. Наприклад, автентифікація v3 базується на зʼєднанні, а не на кожному запиті, як у v2. Крім того, семантика автентифікації v2 на практиці є незручною з погляду узгодженості, що буде описано в наступних розділах. Для v3 є чіткий опис та реалізація механізму автентифікації, який виправляє недоліки системи автентифікації v2.&lt;/p&gt;</description></item><item><title>etcd API</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/</guid><description>&lt;p&gt;Цей документ призначений для надання огляду центрального дизайну API v3 etcd. Це не слід плутати з API v2 etcd, який був визнаний застарілим з випуском etcd v3.5. Він не є всеосяжним, але має на меті зосередитися на основних ідеях, необхідних для розуміння etcd без відволікання на менш поширені виклики API. Усі API etcd визначені в &lt;a href="https://github.com/etcd-io/etcd/blob/master/api/etcdserverpb/rpc.proto"&gt;gRPC сервісах&lt;/a&gt;, які категоризують віддалені виклики процедур (RPC), зрозумілі серверу etcd. Повний перелік усіх RPC etcd задокументований у markdown у &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/api_reference_v3/"&gt;списку gRPC API&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>etcd API</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/</guid><description>&lt;p&gt;Цей документ призначений для надання огляду центрального дизайну API v3 etcd. Це не слід плутати з API v2 etcd, який був визнаний застарілим з випуском etcd v3.5. Він не є всеосяжним, але має на меті зосередитися на основних ідеях, необхідних для розуміння etcd без відволікання на менш поширені виклики API. Усі API etcd визначені в &lt;a href="https://github.com/etcd-io/etcd/blob/main/api/etcdserverpb/rpc.proto"&gt;gRPC сервісах&lt;/a&gt;, які категоризують віддалені виклики процедур (RPC), зрозумілі серверу etcd. Повний перелік усіх RPC etcd задокументований у markdown у &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/api_reference_v3/"&gt;списку gRPC API&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>etcd API</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/</guid><description>&lt;p&gt;Цей документ призначений для надання огляду центрального дизайну API v3 etcd. Це не слід плутати з API v2 etcd, який був визнаний застарілим з випуском etcd v3.5. Він не є всеосяжним, але має на меті зосередитися на основних ідеях, необхідних для розуміння etcd без відволікання на менш поширені виклики API. Усі API etcd визначені в &lt;a href="https://github.com/etcd-io/etcd/blob/main/api/etcdserverpb/rpc.proto"&gt;gRPC сервісах&lt;/a&gt;, які категоризують віддалені виклики процедур (RPC), зрозумілі серверу etcd. Повний перелік усіх RPC etcd задокументований у markdown у &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/api_reference_v3/"&gt;списку gRPC API&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>etcd API</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/</guid><description>&lt;p&gt;Цей документ призначений для надання огляду центрального дизайну API v3 etcd. Це не слід плутати з API v2 etcd, який був визнаний застарілим з випуском etcd v3.5. Він не є всеосяжним, але має на меті зосередитися на основних ідеях, необхідних для розуміння etcd без відволікання на менш поширені виклики API. Усі API etcd визначені в &lt;a href="https://github.com/etcd-io/etcd/blob/main/api/etcdserverpb/rpc.proto"&gt;gRPC сервісах&lt;/a&gt;, які категоризують віддалені виклики процедур (RPC), зрозумілі серверу etcd. Повний перелік усіх RPC etcd задокументований у markdown у &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/api_reference_v3/"&gt;списку gRPC API&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Файли постійного сховища etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/persistent-storage-files/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/persistent-storage-files/</guid><description>&lt;p&gt;Цей документ пояснює формат постійного сховища etcd: іменування, вміст та інструменти, які дозволяють розробникам перевіряти їх. У майбутньому документ буде доповнюватися змінами в моделі зберігання даних. Цей документ призначений для розробників etcd, щоб допомогти їм у відновленні даних.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Наступні статті надають корисну інформацію для цього документа:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/data_model/"&gt;Огляд моделі даних etcd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Огляд Raft: &lt;a href="https://raft.github.io/raft.pdf"&gt;https://raft.github.io/raft.pdf&lt;/a&gt; (особливо розділ &amp;ldquo;5.3 Реплікація журналу&amp;rdquo;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="long-leaving-files"&gt;Довготривалі файли&lt;a class="td-heading-self-link" href="#long-leaving-files" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;tr&gt;
 &lt;th&gt;Назва файлу&lt;/th&gt;
 &lt;th&gt;Основна мета&lt;/th&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;pre&gt;./member/snap/db&lt;/pre&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;bbolt &lt;a href="https://uk.wikipedia.org/wiki/B%2B_дерево"&gt;b+tree&lt;/a&gt;&lt;/strong&gt;, що зберігає всі застосовані дані, інформацію про авторизацію членства та метадані. Воно знає, який останній застосований індекс журналу WAL (&lt;a href="https://github.com/etcd-io/etcd/blob/a1ff0d5373335665b3e5f4cb22a538ac63757cb6/server/etcdserver/cindex/cindex.go#L92"&gt;"consistent_index"&lt;/a&gt;).
 &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;pre&gt;./member/snap/0000000000000002-0000000000049425.snap
./member/snap/0000000000000002-0000000000061ace.snap&lt;/pre&gt;
 &lt;/td&gt;
 &lt;td&gt;
 &lt;p&gt;
 Періодичні &lt;strong&gt;знімки старого сховища v2&lt;/strong&gt;, що містять:
 &lt;ul&gt;
 &lt;li&gt;основну інформацію про членство&lt;/li&gt;
 &lt;li&gt;версію etcd&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/p&gt;</description></item><item><title>Файли постійного сховища etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/persistent-storage-files/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/persistent-storage-files/</guid><description>&lt;p&gt;Цей документ пояснює формат постійного сховища etcd: іменування, вміст та інструменти, які дозволяють розробникам перевіряти їх. У майбутньому документ буде доповнюватися змінами в моделі зберігання даних. Цей документ призначений для розробників etcd, щоб допомогти їм у відновленні даних.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Наступні статті надають корисну інформацію для цього документа:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/data_model/"&gt;Огляд моделі даних etcd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Огляд Raft: &lt;a href="https://raft.github.io/raft.pdf"&gt;https://raft.github.io/raft.pdf&lt;/a&gt; (особливо розділ &amp;ldquo;5.3 Реплікація журналу&amp;rdquo;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="long-leaving-files"&gt;Довготривалі файли&lt;a class="td-heading-self-link" href="#long-leaving-files" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;tr&gt;
 &lt;th&gt;Назва файлу&lt;/th&gt;
 &lt;th&gt;Основна мета&lt;/th&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;pre&gt;./member/snap/db&lt;/pre&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;bbolt &lt;a href="https://uk.wikipedia.org/wiki/B%2B_дерево"&gt;b+tree&lt;/a&gt;&lt;/strong&gt;, що зберігає всі застосовані дані, інформацію про авторизацію членства та метадані. Воно знає, який останній застосований індекс журналу WAL (&lt;a href="https://github.com/etcd-io/etcd/blob/a1ff0d5373335665b3e5f4cb22a538ac63757cb6/server/etcdserver/cindex/cindex.go#L92"&gt;"consistent_index"&lt;/a&gt;).
 &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;pre&gt;./member/snap/0000000000000002-0000000000049425.snap
./member/snap/0000000000000002-0000000000061ace.snap&lt;/pre&gt;
 &lt;/td&gt;
 &lt;td&gt;
 &lt;p&gt;
 Періодичні &lt;strong&gt;знімки старого сховища v2&lt;/strong&gt;, що містять:
 &lt;ul&gt;
 &lt;li&gt;основну інформацію про членство&lt;/li&gt;
 &lt;li&gt;версію etcd&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/p&gt;</description></item><item><title>Файли постійного сховища etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/persistent-storage-files/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/persistent-storage-files/</guid><description>&lt;p&gt;Цей документ пояснює формат постійного сховища etcd: іменування, вміст та інструменти, які дозволяють розробникам перевіряти їх. У майбутньому документ буде доповнюватися змінами в моделі зберігання даних. Цей документ призначений для розробників etcd, щоб допомогти їм у відновленні даних.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Наступні статті надають корисну інформацію для цього документа:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/data_model/"&gt;Огляд моделі даних etcd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Огляд Raft: &lt;a href="https://raft.github.io/raft.pdf"&gt;https://raft.github.io/raft.pdf&lt;/a&gt; (особливо розділ &amp;ldquo;5.3 Реплікація журналу&amp;rdquo;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="long-leaving-files"&gt;Довготривалі файли&lt;a class="td-heading-self-link" href="#long-leaving-files" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;tr&gt;
 &lt;th&gt;Назва файлу&lt;/th&gt;
 &lt;th&gt;Основна мета&lt;/th&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;pre&gt;./member/snap/db&lt;/pre&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;bbolt &lt;a href="https://uk.wikipedia.org/wiki/B%2B_дерево"&gt;b+tree&lt;/a&gt;&lt;/strong&gt;, що зберігає всі застосовані дані, інформацію про авторизацію членства та метадані. Воно знає, який останній застосований індекс журналу WAL (&lt;a href="https://github.com/etcd-io/etcd/blob/a1ff0d5373335665b3e5f4cb22a538ac63757cb6/server/etcdserver/cindex/cindex.go#L92"&gt;"consistent_index"&lt;/a&gt;).
 &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;pre&gt;./member/snap/0000000000000002-0000000000049425.snap
./member/snap/0000000000000002-0000000000061ace.snap&lt;/pre&gt;
 &lt;/td&gt;
 &lt;td&gt;
 &lt;p&gt;
 Періодичні &lt;strong&gt;знімки старого сховища v2&lt;/strong&gt;, що містять:
 &lt;ul&gt;
 &lt;li&gt;основну інформацію про членство&lt;/li&gt;
 &lt;li&gt;версію etcd&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/p&gt;</description></item><item><title>Файли постійного сховища etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/persistent-storage-files/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/persistent-storage-files/</guid><description>&lt;p&gt;Цей документ пояснює формат постійного сховища etcd: іменування, вміст та інструменти, які дозволяють розробникам перевіряти їх. У майбутньому документ буде доповнюватися змінами в моделі зберігання даних. Цей документ призначений для розробників etcd, щоб допомогти їм у відновленні даних.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Передумови&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Наступні статті надають корисну інформацію для цього документа:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/data_model/"&gt;Огляд моделі даних etcd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Огляд Raft: &lt;a href="https://raft.github.io/raft.pdf"&gt;https://raft.github.io/raft.pdf&lt;/a&gt; (особливо розділ &amp;ldquo;5.3 Реплікація журналу&amp;rdquo;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="long-leaving-files"&gt;Довготривалі файли&lt;a class="td-heading-self-link" href="#long-leaving-files" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;tr&gt;
 &lt;th&gt;Назва файлу&lt;/th&gt;
 &lt;th&gt;Основна мета&lt;/th&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;pre&gt;./member/snap/db&lt;/pre&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;bbolt &lt;a href="https://uk.wikipedia.org/wiki/B%2B_дерево"&gt;b+tree&lt;/a&gt;&lt;/strong&gt;, що зберігає всі застосовані дані, інформацію про авторизацію членства та метадані. Воно знає, який останній застосований індекс журналу WAL (&lt;a href="https://github.com/etcd-io/etcd/blob/a1ff0d5373335665b3e5f4cb22a538ac63757cb6/server/etcdserver/cindex/cindex.go#L92"&gt;"consistent_index"&lt;/a&gt;).
 &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;pre&gt;./member/snap/0000000000000002-0000000000049425.snap
./member/snap/0000000000000002-0000000000061ace.snap&lt;/pre&gt;
 &lt;/td&gt;
 &lt;td&gt;
 &lt;p&gt;
 Періодичні &lt;strong&gt;знімки старого сховища v2&lt;/strong&gt;, що містять:
 &lt;ul&gt;
 &lt;li&gt;основну інформацію про членство&lt;/li&gt;
 &lt;li&gt;версію etcd&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/p&gt;</description></item><item><title>Гарантії API etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api_guarantees/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api_guarantees/</guid><description>&lt;p&gt;etcd — це консистентне та надійне сховище ключ-значення. Сховище ключ-значення доступне через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/#grpc-services"&gt;gRPC Services&lt;/a&gt;. etcd забезпечує найсильніші гарантії консистентності та надійності для розподіленої системи. Ця специфікація перераховує гарантії API, які надає etcd.&lt;/p&gt;
&lt;h3 id="apis-to-consider"&gt;API для розгляду&lt;a class="td-heading-self-link" href="#apis-to-consider" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;KV API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/#range"&gt;Range&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/#put"&gt;Put&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/#delete-range"&gt;Delete&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/#transaction"&gt;Transaction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Watch API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/#watch-api"&gt;Watch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Lease API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/#obtaining-leases"&gt;Grant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[Revoke]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/api/#keep-alives"&gt;Keep alive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;KV API дозволяє безпосередньо читати та маніпулювати сховищем ключ-значення.
Watch API дозволяє підписуватися на зміни в сховищі ключ-значення.
Lease API дозволяє призначати час життя ключа.&lt;/p&gt;</description></item><item><title>Гарантії API etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api_guarantees/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api_guarantees/</guid><description>&lt;p&gt;etcd — це консистентне та надійне сховище ключ-значення. Сховище ключ-значення доступне через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/#grpc-services"&gt;gRPC Services&lt;/a&gt;. etcd забезпечує найсильніші гарантії консистентності та надійності для розподіленої системи. Ця специфікація перераховує гарантії API, які надає etcd.&lt;/p&gt;
&lt;h3 id="apis-to-consider"&gt;API для розгляду&lt;a class="td-heading-self-link" href="#apis-to-consider" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;KV API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/#range"&gt;Range&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/#put"&gt;Put&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/#delete-range"&gt;Delete&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/#transaction"&gt;Transaction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Watch API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/#watch-api"&gt;Watch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Lease API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/#obtaining-leases"&gt;Grant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[Revoke]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/api/#keep-alives"&gt;Keep alive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;KV API дозволяє безпосередньо читати та маніпулювати сховищем ключ-значення. Watch API дозволяє підписуватися на зміни в сховищі ключ-значення. Lease API дозволяє призначати час життя ключа.&lt;/p&gt;</description></item><item><title>Гарантії API etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api_guarantees/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api_guarantees/</guid><description>&lt;p&gt;etcd — це консистентне та надійне сховище ключ-значення. Сховище ключ-значення доступне через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/#grpc-services"&gt;gRPC Services&lt;/a&gt;. etcd забезпечує найсильніші гарантії консистентності та надійності для розподіленої системи. Ця специфікація перераховує гарантії API, які надає etcd.&lt;/p&gt;
&lt;h3 id="apis-to-consider"&gt;API для розгляду&lt;a class="td-heading-self-link" href="#apis-to-consider" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;KV API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/#range"&gt;Range&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/#rangestream"&gt;RangeStream&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/#put"&gt;Put&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/#delete-range"&gt;Delete&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/#transaction"&gt;Transaction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Watch API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/#watch-api"&gt;Watch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Lease API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/#obtaining-leases"&gt;Grant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[Revoke]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/api/#keep-alives"&gt;Keep alive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;KV API дозволяє безпосередньо читати та маніпулювати сховищем ключ-значення. Watch API дозволяє підписуватися на зміни в сховищі ключ-значення. Lease API дозволяє призначати час життя ключа.&lt;/p&gt;</description></item><item><title>Гарантії API etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api_guarantees/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api_guarantees/</guid><description>&lt;p&gt;etcd — це консистентне та надійне сховище ключ-значення. Сховище ключ-значення доступне через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/#grpc-services"&gt;gRPC Services&lt;/a&gt;. etcd забезпечує найсильніші гарантії консистентності та надійності для розподіленої системи. Ця специфікація перераховує гарантії API, які надає etcd.&lt;/p&gt;
&lt;h3 id="apis-to-consider"&gt;API для розгляду&lt;a class="td-heading-self-link" href="#apis-to-consider" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;KV API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/#range"&gt;Range&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/#rangestream"&gt;RangeStream&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/#put"&gt;Put&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/#delete-range"&gt;Delete&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/#transaction"&gt;Transaction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Watch API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/#watch-api"&gt;Watch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Lease API
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/#obtaining-leases"&gt;Grant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[Revoke]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/api/#keep-alives"&gt;Keep alive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;KV API дозволяє безпосередньо читати та маніпулювати сховищем ключ-значення. Watch API дозволяє підписуватися на зміни в сховищі ключ-значення. Lease API дозволяє призначати час життя ключа.&lt;/p&gt;</description></item><item><title>etcd у порівнянні з іншими сховищами ключі-значення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/why/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/why/</guid><description>&lt;p&gt;Назва &amp;ldquo;etcd&amp;rdquo; походить від двох ідей: теки unix &amp;ldquo;/etc&amp;rdquo; та &amp;ldquo;d&amp;quot;istributed систем. Тека &amp;ldquo;/etc&amp;rdquo; є місцем для зберігання конфігураційних даних для однієї системи, тоді як etcd зберігає конфігураційну інформацію для великих розподілених систем. Отже, &amp;ldquo;d&amp;quot;istributed &amp;ldquo;/etc&amp;rdquo; — це &amp;ldquo;etcd&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;etcd розроблено як загальну основу для великих розподілених систем. Це системи, які ніколи не терплять &amp;ldquo;розділення мозку&amp;rdquo;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; і готові пожертвувати доступністю для досягнення цієї мети. etcd зберігає метадані послідовно та відмовостійко. Кластер etcd призначений для забезпечення сховища ключ-значення з найкращою стабільністю, надійністю, масштабованістю та продуктивністю.&lt;/p&gt;</description></item><item><title>etcd у порівнянні з іншими сховищами ключі-значення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/why/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/why/</guid><description>&lt;p&gt;Назва &amp;ldquo;etcd&amp;rdquo; походить від двох ідей: теки unix &amp;ldquo;/etc&amp;rdquo; та &amp;ldquo;d&amp;quot;istributed систем. Тека &amp;ldquo;/etc&amp;rdquo; є місцем для зберігання конфігураційних даних для однієї системи, тоді як etcd зберігає конфігураційну інформацію для великих розподілених систем. Отже, &amp;ldquo;d&amp;quot;istributed &amp;ldquo;/etc&amp;rdquo; — це &amp;ldquo;etcd&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;etcd розроблено як загальну основу для великих розподілених систем. Це системи, які ніколи не терплять &amp;ldquo;розділення мозку&amp;rdquo;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; і готові пожертвувати доступністю для досягнення цієї мети. etcd зберігає метадані послідовно та відмовостійко. Кластер etcd призначений для забезпечення сховища ключ-значення з найкращою стабільністю, надійністю, масштабованістю та продуктивністю.&lt;/p&gt;</description></item><item><title>etcd у порівнянні з іншими сховищами ключі-значення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/why/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/why/</guid><description>&lt;p&gt;Назва &amp;ldquo;etcd&amp;rdquo; походить від двох ідей: теки unix &amp;ldquo;/etc&amp;rdquo; та &amp;ldquo;d&amp;quot;istributed систем. Тека &amp;ldquo;/etc&amp;rdquo; є місцем для зберігання конфігураційних даних для однієї системи, тоді як etcd зберігає конфігураційну інформацію для великих розподілених систем. Отже, &amp;ldquo;d&amp;quot;istributed &amp;ldquo;/etc&amp;rdquo; — це &amp;ldquo;etcd&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;etcd розроблено як загальну основу для великих розподілених систем. Це системи, які ніколи не терплять &amp;ldquo;розділення мозку&amp;rdquo;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; і готові пожертвувати доступністю для досягнення цієї мети. etcd зберігає метадані послідовно та відмовостійко. Кластер etcd призначений для забезпечення сховища ключ-значення з найкращою стабільністю, надійністю, масштабованістю та продуктивністю.&lt;/p&gt;</description></item><item><title>etcd у порівнянні з іншими сховищами ключі-значення</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/why/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/why/</guid><description>&lt;p&gt;Назва &amp;ldquo;etcd&amp;rdquo; походить від двох ідей: теки unix &amp;ldquo;/etc&amp;rdquo; та &amp;ldquo;d&amp;quot;istributed систем. Тека &amp;ldquo;/etc&amp;rdquo; є місцем для зберігання конфігураційних даних для однієї системи, тоді як etcd зберігає конфігураційну інформацію для великих розподілених систем. Отже, &amp;ldquo;d&amp;quot;istributed &amp;ldquo;/etc&amp;rdquo; — це &amp;ldquo;etcd&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;etcd розроблено як загальну основу для великих розподілених систем. Це системи, які ніколи не терплять &amp;ldquo;розділення мозку&amp;rdquo;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; і готові пожертвувати доступністю для досягнення цієї мети. etcd зберігає метадані послідовно та відмовостійко. Кластер etcd призначений для забезпечення сховища ключ-значення з найкращою стабільністю, надійністю, масштабованістю та продуктивністю.&lt;/p&gt;</description></item><item><title>Глосарій</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/learning/glossary/</guid><description>&lt;p&gt;Цей документ визначає різні терміни, що використовуються в документації, командному рядку та вихідному коді etcd.&lt;/p&gt;
&lt;h2 id="alarm"&gt;Тривога (Alarm)&lt;a class="td-heading-self-link" href="#alarm" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сервер etcd спричиняє тривогу, коли кластер потребує втручання оператора для збереження надійності.&lt;/p&gt;
&lt;h2 id="authentication"&gt;Автентифікація (Authentication)&lt;a class="td-heading-self-link" href="#authentication" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Автентифікація керує дозволами доступу користувачів до ресурсів etcd.&lt;/p&gt;
&lt;h2 id="client"&gt;Клієнт (Client)&lt;a class="td-heading-self-link" href="#client" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Клієнт підключається до кластера etcd для виконання сервісних запитів, таких як отримання пар ключ-значення, запис даних або спостереження за оновленнями.&lt;/p&gt;
&lt;h2 id="cluster"&gt;Кластер (Cluster)&lt;a class="td-heading-self-link" href="#cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Кластер складається з кількох учасників.&lt;/p&gt;</description></item><item><title>Глосарій</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/learning/glossary/</guid><description>&lt;p&gt;Цей документ визначає різні терміни, що використовуються в документації, командному рядку та вихідному коді etcd.&lt;/p&gt;
&lt;h2 id="alarm"&gt;Тривога (Alarm)&lt;a class="td-heading-self-link" href="#alarm" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сервер etcd спричиняє тривогу, коли кластер потребує втручання оператора для збереження надійності.&lt;/p&gt;
&lt;h2 id="authentication"&gt;Автентифікація (Authentication)&lt;a class="td-heading-self-link" href="#authentication" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Автентифікація керує дозволами доступу користувачів до ресурсів etcd.&lt;/p&gt;
&lt;h2 id="client"&gt;Клієнт (Client)&lt;a class="td-heading-self-link" href="#client" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Клієнт підключається до кластера etcd для виконання сервісних запитів, таких як отримання пар ключ-значення, запис даних або спостереження за оновленнями.&lt;/p&gt;
&lt;h2 id="cluster"&gt;Кластер (Cluster)&lt;a class="td-heading-self-link" href="#cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Кластер складається з кількох учасників.&lt;/p&gt;</description></item><item><title>Глосарій</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/learning/glossary/</guid><description>&lt;p&gt;Цей документ визначає різні терміни, що використовуються в документації, командному рядку та вихідному коді etcd.&lt;/p&gt;
&lt;h2 id="alarm"&gt;Тривога (Alarm)&lt;a class="td-heading-self-link" href="#alarm" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сервер etcd спричиняє тривогу, коли кластер потребує втручання оператора для збереження надійності.&lt;/p&gt;
&lt;h2 id="authentication"&gt;Автентифікація (Authentication)&lt;a class="td-heading-self-link" href="#authentication" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Автентифікація керує дозволами доступу користувачів до ресурсів etcd.&lt;/p&gt;
&lt;h2 id="client"&gt;Клієнт (Client)&lt;a class="td-heading-self-link" href="#client" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Клієнт підключається до кластера etcd для виконання сервісних запитів, таких як отримання пар ключ-значення, запис даних або спостереження за оновленнями.&lt;/p&gt;
&lt;h2 id="cluster"&gt;Кластер (Cluster)&lt;a class="td-heading-self-link" href="#cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Кластер складається з кількох учасників.&lt;/p&gt;</description></item><item><title>Глосарій</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/learning/glossary/</guid><description>&lt;p&gt;Цей документ визначає різні терміни, що використовуються в документації, командному рядку та вихідному коді etcd.&lt;/p&gt;
&lt;h2 id="alarm"&gt;Тривога (Alarm)&lt;a class="td-heading-self-link" href="#alarm" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сервер etcd спричиняє тривогу, коли кластер потребує втручання оператора для збереження надійності.&lt;/p&gt;
&lt;h2 id="authentication"&gt;Автентифікація (Authentication)&lt;a class="td-heading-self-link" href="#authentication" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Автентифікація керує дозволами доступу користувачів до ресурсів etcd.&lt;/p&gt;
&lt;h2 id="client"&gt;Клієнт (Client)&lt;a class="td-heading-self-link" href="#client" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Клієнт підключається до кластера etcd для виконання сервісних запитів, таких як отримання пар ключ-значення, запис даних або спостереження за оновленнями.&lt;/p&gt;
&lt;h2 id="cluster"&gt;Кластер (Cluster)&lt;a class="td-heading-self-link" href="#cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Кластер складається з кількох учасників.&lt;/p&gt;</description></item><item><title>Налаштування локального кластера</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/local_cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/local_cluster/</guid><description>&lt;p&gt;Для тестування та розробки найшвидший і найпростіший спосіб — налаштувати локальний кластер. Для розгортання в операційному середовищі зверніться до розділу &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/clustering/"&gt;кластеризація&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="local-standalone-cluster"&gt;Локальний автономний кластер&lt;a class="td-heading-self-link" href="#local-standalone-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="starting-a-cluster"&gt;Запуск кластера&lt;a class="td-heading-self-link" href="#starting-a-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Виконайте наступне, щоб розгорнути кластер etcd як автономний кластер:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ ./etcd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Якщо бінарний файл &lt;code&gt;etcd&lt;/code&gt; не присутній у поточній робочій теці, він може знаходитися або в &lt;code&gt;$GOPATH/bin/etcd&lt;/code&gt;, або в &lt;code&gt;/usr/local/bin/etcd&lt;/code&gt;. Виконайте команду відповідно.&lt;/p&gt;
&lt;p&gt;Запущений член etcd слухає на &lt;code&gt;localhost:2379&lt;/code&gt; для клієнтських запитів.&lt;/p&gt;</description></item><item><title>Налаштування локального кластера</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/local_cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/local_cluster/</guid><description>&lt;p&gt;Для тестування та розробки найшвидший і найпростіший спосіб — налаштувати локальний кластер. Для розгортання в операційному середовищі зверніться до розділу &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/clustering/"&gt;кластеризація&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="local-standalone-cluster"&gt;Локальний автономний кластер&lt;a class="td-heading-self-link" href="#local-standalone-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="starting-a-cluster"&gt;Запуск кластера&lt;a class="td-heading-self-link" href="#starting-a-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Виконайте наступне, щоб розгорнути кластер etcd як автономний кластер:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ ./etcd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Якщо бінарний файл &lt;code&gt;etcd&lt;/code&gt; не присутній у поточній робочій теці, він може знаходитися або в &lt;code&gt;$GOPATH/bin/etcd&lt;/code&gt;, або в &lt;code&gt;/usr/local/bin/etcd&lt;/code&gt;. Виконайте команду відповідно.&lt;/p&gt;
&lt;p&gt;Запущений член etcd слухає на &lt;code&gt;localhost:2379&lt;/code&gt; для клієнтських запитів.&lt;/p&gt;</description></item><item><title>Налаштування локального кластера</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/local_cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/local_cluster/</guid><description>&lt;p&gt;Для тестування та розробки найшвидший і найпростіший спосіб — налаштувати локальний кластер. Для розгортання в операційному середовищі зверніться до розділу &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/clustering/"&gt;кластеризація&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="local-standalone-cluster"&gt;Локальний автономний кластер&lt;a class="td-heading-self-link" href="#local-standalone-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="starting-a-cluster"&gt;Запуск кластера&lt;a class="td-heading-self-link" href="#starting-a-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Виконайте наступне, щоб розгорнути кластер etcd як автономний кластер:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ ./etcd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Якщо бінарний файл &lt;code&gt;etcd&lt;/code&gt; не присутній у поточній робочій теці, він може знаходитися або в &lt;code&gt;$GOPATH/bin/etcd&lt;/code&gt;, або в &lt;code&gt;/usr/local/bin/etcd&lt;/code&gt;. Виконайте команду відповідно.&lt;/p&gt;
&lt;p&gt;Запущений член etcd слухає на &lt;code&gt;localhost:2379&lt;/code&gt; для клієнтських запитів.&lt;/p&gt;</description></item><item><title>Налаштування локального кластера</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/local_cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/local_cluster/</guid><description>&lt;p&gt;Для тестування та розробки найшвидший і найпростіший спосіб — налаштувати локальний кластер. Для розгортання в операційному середовищі зверніться до розділу &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/clustering/"&gt;кластеризація&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="local-standalone-cluster"&gt;Локальний автономний кластер&lt;a class="td-heading-self-link" href="#local-standalone-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="starting-a-cluster"&gt;Запуск кластера&lt;a class="td-heading-self-link" href="#starting-a-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Виконайте наступне, щоб розгорнути кластер etcd як автономний кластер:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ ./etcd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Якщо бінарний файл &lt;code&gt;etcd&lt;/code&gt; не присутній у поточній робочій теці, він може знаходитися або в &lt;code&gt;$GOPATH/bin/etcd&lt;/code&gt;, або в &lt;code&gt;/usr/local/bin/etcd&lt;/code&gt;. Виконайте команду відповідно.&lt;/p&gt;
&lt;p&gt;Запущений член etcd слухає на &lt;code&gt;localhost:2379&lt;/code&gt; для клієнтських запитів.&lt;/p&gt;</description></item><item><title>Взаємодія з etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/interacting_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/interacting_v3/</guid><description>&lt;p&gt;Користувачі здебільшого взаємодіють з etcd, встановлюючи або отримуючи значення ключа. У цьому розділі описано, як це зробити за допомогою etcdctl, інструменту командного рядка для взаємодії з сервером etcd. Описані концепції повинні застосовуватися до gRPC API або API бібліотеки клієнта.&lt;/p&gt;
&lt;p&gt;Версія API, яку використовує etcdctl для взаємодії з etcd, може бути встановлена на версію &lt;code&gt;2&lt;/code&gt; або &lt;code&gt;3&lt;/code&gt; за допомогою змінної середовища &lt;code&gt;ETCDCTL_API&lt;/code&gt;. Стандартно, etcdctl на master (3.4) використовує API v3, а попередні версії (3.3 і раніше) стандартно використовують API v2.&lt;/p&gt;</description></item><item><title>Взаємодія з etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/interacting_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/interacting_v3/</guid><description>&lt;p&gt;Користувачі здебільшого взаємодіють з etcd, встановлюючи або отримуючи значення ключа. У цьому розділі описано, як це зробити за допомогою etcdctl, інструменту командного рядка для взаємодії з сервером etcd. Описані концепції повинні застосовуватися до gRPC API або API бібліотеки клієнта.&lt;/p&gt;
&lt;p&gt;Версія API, яку використовує etcdctl для взаємодії з etcd, може бути встановлена на версію &lt;code&gt;2&lt;/code&gt; або &lt;code&gt;3&lt;/code&gt; за допомогою змінної середовища &lt;code&gt;ETCDCTL_API&lt;/code&gt;. Стандартно, etcdctl на master (3.4) використовує API v3, а попередні версії (3.3 і раніше) стандартно використовують API v2.&lt;/p&gt;</description></item><item><title>Взаємодія з etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/interacting_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/interacting_v3/</guid><description>&lt;p&gt;Користувачі здебільшого взаємодіють з etcd, встановлюючи або отримуючи значення ключа. У цьому розділі описано, як це зробити за допомогою etcdctl, інструменту командного рядка для взаємодії з сервером etcd. Описані концепції повинні застосовуватися до gRPC API або API бібліотеки клієнта.&lt;/p&gt;
&lt;p&gt;Версія API, яку використовує etcdctl для взаємодії з etcd, може бути встановлена на версію &lt;code&gt;2&lt;/code&gt; або &lt;code&gt;3&lt;/code&gt; за допомогою змінної середовища &lt;code&gt;ETCDCTL_API&lt;/code&gt;. Стандартно, etcdctl на master (3.4) використовує API v3, а попередні версії (3.3 і раніше) стандартно використовують API v2.&lt;/p&gt;</description></item><item><title>Взаємодія з etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/interacting_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/interacting_v3/</guid><description>&lt;p&gt;Користувачі здебільшого взаємодіють з etcd, встановлюючи або отримуючи значення ключа. У цьому розділі описано, як це зробити за допомогою etcdctl, інструменту командного рядка для взаємодії з сервером etcd. Описані концепції повинні застосовуватися до gRPC API або API бібліотеки клієнта.&lt;/p&gt;
&lt;p&gt;Версія API, яку використовує etcdctl для взаємодії з etcd, може бути встановлена на версію &lt;code&gt;2&lt;/code&gt; або &lt;code&gt;3&lt;/code&gt; за допомогою змінної середовища &lt;code&gt;ETCDCTL_API&lt;/code&gt;. Стандартно, etcdctl на master (3.4) використовує API v3, а попередні версії (3.3 і раніше) стандартно використовують API v2.&lt;/p&gt;</description></item><item><title>Чому gRPC gateway</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/api_grpc_gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/api_grpc_gateway/</guid><description>&lt;p&gt;etcd v3 використовує &lt;a href="https://www.grpc.io/"&gt;gRPC&lt;/a&gt; для свого протоколу обміну повідомленнями. Проєкт etcd включає клієнт на основі gRPC &lt;a href="https://github.com/etcd-io/etcd/tree/master/client/v3"&gt;Go client&lt;/a&gt; та утиліту командного рядка &lt;a href="https://github.com/etcd-io/etcd/tree/master/etcdctl"&gt;etcdctl&lt;/a&gt; для спілкування з кластером etcd через gRPC. Для мов, які не підтримують gRPC, etcd надає JSON &lt;a href="https://github.com/grpc-ecosystem/grpc-gateway"&gt;gRPC gateway&lt;/a&gt;. Цей шлюз обслуговує RESTful проксі, який перетворює HTTP/JSON запити в gRPC повідомлення.&lt;/p&gt;
&lt;h2 id="using-grpc-gateway"&gt;Використання gRPC gateway&lt;a class="td-heading-self-link" href="#using-grpc-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Шлюз приймає &lt;a href="https://developers.google.com/protocol-buffers/docs/proto3#json"&gt;JSON mapping&lt;/a&gt; для &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/api_reference_v3/"&gt;protocol buffer&lt;/a&gt; визначень повідомлень etcd. Зверніть увагу, що поля &lt;code&gt;key&lt;/code&gt; та &lt;code&gt;value&lt;/code&gt; визначені як масиви байтів і тому повинні бути закодовані в base64 у JSON. Наступні приклади використовують &lt;code&gt;curl&lt;/code&gt;, але будь-який HTTP/JSON клієнт повинен працювати так само.&lt;/p&gt;</description></item><item><title>Чому gRPC gateway</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/api_grpc_gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/api_grpc_gateway/</guid><description>&lt;p&gt;etcd v3 використовує &lt;a href="https://www.grpc.io/"&gt;gRPC&lt;/a&gt; для свого протоколу обміну повідомленнями. Проєкт etcd включає клієнт на основі gRPC &lt;a href="https://github.com/etcd-io/etcd/tree/main/client/v3"&gt;Go client&lt;/a&gt; та утиліту командного рядка &lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl"&gt;etcdctl&lt;/a&gt; для спілкування з кластером etcd через gRPC. Для мов, які не підтримують gRPC, etcd надає JSON &lt;a href="https://github.com/grpc-ecosystem/grpc-gateway"&gt;gRPC gateway&lt;/a&gt;. Цей шлюз обслуговує RESTful проксі, який перетворює HTTP/JSON запити в gRPC повідомлення.&lt;/p&gt;
&lt;h2 id="using-grpc-gateway"&gt;Використання gRPC gateway&lt;a class="td-heading-self-link" href="#using-grpc-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Шлюз приймає &lt;a href="https://developers.google.com/protocol-buffers/docs/proto3#json"&gt;JSON mapping&lt;/a&gt; для &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/api_reference_v3/"&gt;protocol buffer&lt;/a&gt; визначень повідомлень etcd. Зверніть увагу, що поля &lt;code&gt;key&lt;/code&gt; та &lt;code&gt;value&lt;/code&gt; визначені як масиви байтів і тому повинні бути закодовані в base64 у JSON. Наступні приклади використовують &lt;code&gt;curl&lt;/code&gt;, але будь-який HTTP/JSON клієнт повинен працювати так само.&lt;/p&gt;</description></item><item><title>Чому gRPC gateway</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/api_grpc_gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/api_grpc_gateway/</guid><description>&lt;p&gt;etcd v3 використовує &lt;a href="https://www.grpc.io/"&gt;gRPC&lt;/a&gt; для свого протоколу обміну повідомленнями. Проєкт etcd включає клієнт на основі gRPC &lt;a href="https://github.com/etcd-io/etcd/tree/main/client/v3"&gt;Go client&lt;/a&gt; та утиліту командного рядка &lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl"&gt;etcdctl&lt;/a&gt; для спілкування з кластером etcd через gRPC. Для мов, які не підтримують gRPC, etcd надає JSON &lt;a href="https://github.com/grpc-ecosystem/grpc-gateway"&gt;gRPC gateway&lt;/a&gt;. Цей шлюз обслуговує RESTful проксі, який перетворює HTTP/JSON запити в gRPC повідомлення.&lt;/p&gt;
&lt;h2 id="using-grpc-gateway"&gt;Використання gRPC gateway&lt;a class="td-heading-self-link" href="#using-grpc-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Шлюз приймає &lt;a href="https://developers.google.com/protocol-buffers/docs/proto3#json"&gt;JSON mapping&lt;/a&gt; для &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/api_reference_v3/"&gt;protocol buffer&lt;/a&gt; визначень повідомлень etcd. Зверніть увагу, що поля &lt;code&gt;key&lt;/code&gt; та &lt;code&gt;value&lt;/code&gt; визначені як масиви байтів і тому повинні бути закодовані в base64 у JSON. Наступні приклади використовують &lt;code&gt;curl&lt;/code&gt;, але будь-який HTTP/JSON клієнт повинен працювати так само.&lt;/p&gt;</description></item><item><title>Чому gRPC gateway</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/api_grpc_gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/api_grpc_gateway/</guid><description>&lt;p&gt;etcd v3 використовує &lt;a href="https://www.grpc.io/"&gt;gRPC&lt;/a&gt; для свого протоколу обміну повідомленнями. Проєкт etcd включає клієнт на основі gRPC &lt;a href="https://github.com/etcd-io/etcd/tree/main/client/v3"&gt;Go client&lt;/a&gt; та утиліту командного рядка &lt;a href="https://github.com/etcd-io/etcd/tree/main/etcdctl"&gt;etcdctl&lt;/a&gt; для спілкування з кластером etcd через gRPC. Для мов, які не підтримують gRPC, etcd надає JSON &lt;a href="https://github.com/grpc-ecosystem/grpc-gateway"&gt;gRPC gateway&lt;/a&gt;. Цей шлюз обслуговує RESTful проксі, який перетворює HTTP/JSON запити в gRPC повідомлення.&lt;/p&gt;
&lt;h2 id="using-grpc-gateway"&gt;Використання gRPC gateway&lt;a class="td-heading-self-link" href="#using-grpc-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Шлюз приймає &lt;a href="https://developers.google.com/protocol-buffers/docs/proto3#json"&gt;JSON mapping&lt;/a&gt; для &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/api_reference_v3/"&gt;protocol buffer&lt;/a&gt; визначень повідомлень etcd. Зверніть увагу, що поля &lt;code&gt;key&lt;/code&gt; та &lt;code&gt;value&lt;/code&gt; визначені як масиви байтів і тому повинні бути закодовані в base64 у JSON. Наступні приклади використовують &lt;code&gt;curl&lt;/code&gt;, але будь-який HTTP/JSON клієнт повинен працювати так само.&lt;/p&gt;</description></item><item><title>Іменування та виявлення gRPC</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/grpc_naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/grpc_naming/</guid><description>&lt;p&gt;etcd надає gRPC резолвер для підтримки альтернативної системи імен, яка отримує точки доступу з etcd для виявлення gRPC сервісів. Основний механізм базується на спостереженні за оновленнями ключів з префіксом імені сервісу.&lt;/p&gt;
&lt;p&gt;Зверніть увагу, що ця функція є експериментальною, оскільки вона залежить від пакунку &lt;a href="https://github.com/grpc/grpc-go/tree/4cedec40eb2ccfbe3f56bb15e894903111ada2d2/resolver"&gt;google.golang.org/grpc/resolver&lt;/a&gt;, який досі є експериментальним у grpc-go.&lt;/p&gt;
&lt;h2 id="using-etcd-discovery-with-go-grpc"&gt;Використання etcd discovery з go-grpc&lt;a class="td-heading-self-link" href="#using-etcd-discovery-with-go-grpc" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Клієнт etcd надає gRPC резолвер для вирішення gRPC точок доступу з бекендом etcd. Резолвер ініціалізується клієнтом etcd:&lt;/p&gt;</description></item><item><title>Іменування та виявлення gRPC</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/grpc_naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/grpc_naming/</guid><description>&lt;p&gt;etcd надає gRPC резолвер для підтримки альтернативної системи імен, яка отримує точки доступу з etcd для виявлення gRPC сервісів. Основний механізм базується на спостереженні за оновленнями ключів з префіксом імені сервісу.&lt;/p&gt;
&lt;p&gt;Зверніть увагу, що ця функція є експериментальною, оскільки вона залежить від пакунку &lt;a href="https://github.com/grpc/grpc-go/tree/4cedec40eb2ccfbe3f56bb15e894903111ada2d2/resolver"&gt;google.golang.org/grpc/resolver&lt;/a&gt;, який досі є експериментальним у grpc-go.&lt;/p&gt;
&lt;h2 id="using-etcd-discovery-with-go-grpc"&gt;Використання etcd discovery з go-grpc&lt;a class="td-heading-self-link" href="#using-etcd-discovery-with-go-grpc" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Клієнт etcd надає gRPC резолвер для вирішення gRPC точок доступу з бекендом etcd. Резолвер ініціалізується клієнтом etcd:&lt;/p&gt;</description></item><item><title>Іменування та виявлення gRPC</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/grpc_naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/grpc_naming/</guid><description>&lt;p&gt;etcd надає gRPC резолвер для підтримки альтернативної системи імен, яка отримує точки доступу з etcd для виявлення gRPC сервісів. Основний механізм базується на спостереженні за оновленнями ключів з префіксом імені сервісу.&lt;/p&gt;
&lt;p&gt;Зверніть увагу, що ця функція є експериментальною, оскільки вона залежить від пакунку &lt;a href="https://github.com/grpc/grpc-go/tree/4cedec40eb2ccfbe3f56bb15e894903111ada2d2/resolver"&gt;google.golang.org/grpc/resolver&lt;/a&gt;, який досі є експериментальним у grpc-go.&lt;/p&gt;
&lt;h2 id="using-etcd-discovery-with-go-grpc"&gt;Використання etcd discovery з go-grpc&lt;a class="td-heading-self-link" href="#using-etcd-discovery-with-go-grpc" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Клієнт etcd надає gRPC резолвер для вирішення gRPC точок доступу з бекендом etcd. Резолвер ініціалізується клієнтом etcd:&lt;/p&gt;</description></item><item><title>Іменування та виявлення gRPC</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/grpc_naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/grpc_naming/</guid><description>&lt;p&gt;etcd надає gRPC резолвер для підтримки альтернативної системи імен, яка отримує точки доступу з etcd для виявлення gRPC сервісів. Основний механізм базується на спостереженні за оновленнями ключів з префіксом імені сервісу.&lt;/p&gt;
&lt;p&gt;Зверніть увагу, що ця функція є експериментальною, оскільки вона залежить від пакунку &lt;a href="https://github.com/grpc/grpc-go/tree/4cedec40eb2ccfbe3f56bb15e894903111ada2d2/resolver"&gt;google.golang.org/grpc/resolver&lt;/a&gt;, який досі є експериментальним у grpc-go.&lt;/p&gt;
&lt;h2 id="using-etcd-discovery-with-go-grpc"&gt;Використання etcd discovery з go-grpc&lt;a class="td-heading-self-link" href="#using-etcd-discovery-with-go-grpc" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Клієнт etcd надає gRPC резолвер для вирішення gRPC точок доступу з бекендом etcd. Резолвер ініціалізується клієнтом etcd:&lt;/p&gt;</description></item><item><title>Вбудовування etcd у застосунок на Go</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/golang_embed_pkg/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/golang_embed_pkg/</guid><description>&lt;p&gt;Пакунок &lt;code&gt;embed&lt;/code&gt; Go надає простий спосіб вбудувати сервер etcd прямо у ваш застосунок.&lt;/p&gt;
&lt;p&gt;Для отримання додаткової інформації див. &lt;a href="https://pkg.go.dev/go.etcd.io/etcd/server/v3/embed"&gt;документацію пакунка embed&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Вбудовування etcd у застосунок на Go</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/golang_embed_pkg/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/golang_embed_pkg/</guid><description>&lt;p&gt;Пакунок &lt;code&gt;embed&lt;/code&gt; Go надає простий спосіб вбудувати сервер etcd прямо у ваш застосунок.&lt;/p&gt;
&lt;p&gt;Для отримання додаткової інформації див. &lt;a href="https://pkg.go.dev/go.etcd.io/etcd/server/v3/embed"&gt;документацію пакунка embed&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Вбудовування etcd у застосунок на Go</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/golang_embed_pkg/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/golang_embed_pkg/</guid><description>&lt;p&gt;Пакунок &lt;code&gt;embed&lt;/code&gt; Go надає простий спосіб вбудувати сервер etcd прямо у ваш застосунок.&lt;/p&gt;
&lt;p&gt;Для отримання додаткової інформації див. &lt;a href="https://pkg.go.dev/go.etcd.io/etcd/server/v3/embed"&gt;документацію пакунка embed&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Вбудовування etcd у застосунок на Go</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/golang_embed_pkg/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/golang_embed_pkg/</guid><description>&lt;p&gt;Пакунок &lt;code&gt;embed&lt;/code&gt; Go надає простий спосіб вбудувати сервер etcd прямо у ваш застосунок.&lt;/p&gt;
&lt;p&gt;Для отримання додаткової інформації див. &lt;a href="https://pkg.go.dev/go.etcd.io/etcd/server/v3/embed"&gt;документацію пакунка embed&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Системні обмеження</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/limit/</guid><description>&lt;h2 id="request-size-limit"&gt;Обмеження розміру запиту&lt;a class="td-heading-self-link" href="#request-size-limit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd розроблений для обробки невеликих пар ключ-значення, типових для метаданих. Більші запити також працюватимуть, але можуть збільшити затримку інших запитів. Стандартно максимальний розмір будь-якого запиту становить 1.5 MiB. Це обмеження можна налаштувати за допомогою прапорця &lt;code&gt;--max-request-bytes&lt;/code&gt; для сервера etcd.&lt;/p&gt;
&lt;h2 id="storage-size-limit"&gt;Обмеження розміру зберігання&lt;a class="td-heading-self-link" href="#storage-size-limit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Стандартно обмеження розміру зберігання становить 2 GiB, яке можна налаштувати за допомогою прапорця &lt;code&gt;--quota-backend-bytes&lt;/code&gt;. 8 GiB є рекомендованим максимальним розміром для нормальних середовищ, і etcd попереджає при запуску, якщо налаштоване значення перевищує його.&lt;/p&gt;</description></item><item><title>Системні обмеження</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/limit/</guid><description>&lt;h2 id="request-size-limit"&gt;Обмеження розміру запиту&lt;a class="td-heading-self-link" href="#request-size-limit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd розроблений для обробки невеликих пар ключ-значення, типових для метаданих. Більші запити також працюватимуть, але можуть збільшити затримку інших запитів. Стандартно максимальний розмір будь-якого запиту становить 1.5 MiB. Це обмеження можна налаштувати за допомогою прапорця &lt;code&gt;--max-request-bytes&lt;/code&gt; для сервера etcd.&lt;/p&gt;
&lt;h2 id="storage-size-limit"&gt;Обмеження розміру зберігання&lt;a class="td-heading-self-link" href="#storage-size-limit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Стандартно обмеження розміру зберігання становить 2 GiB, яке можна налаштувати за допомогою прапорця &lt;code&gt;--quota-backend-bytes&lt;/code&gt;. 8 GiB є рекомендованим максимальним розміром для нормальних середовищ, і etcd попереджає при запуску, якщо налаштоване значення перевищує його.&lt;/p&gt;</description></item><item><title>Системні обмеження</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/limit/</guid><description>&lt;h2 id="request-size-limit"&gt;Обмеження розміру запиту&lt;a class="td-heading-self-link" href="#request-size-limit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd розроблений для обробки невеликих пар ключ-значення, типових для метаданих. Більші запити також працюватимуть, але можуть збільшити затримку інших запитів. Стандартно максимальний розмір будь-якого запиту становить 1.5 MiB. Це обмеження можна налаштувати за допомогою прапорця &lt;code&gt;--max-request-bytes&lt;/code&gt; для сервера etcd.&lt;/p&gt;
&lt;h2 id="storage-size-limit"&gt;Обмеження розміру зберігання&lt;a class="td-heading-self-link" href="#storage-size-limit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Стандартно обмеження розміру зберігання становить 2 GiB, яке можна налаштувати за допомогою прапорця &lt;code&gt;--quota-backend-bytes&lt;/code&gt;. 8 GiB є рекомендованим максимальним розміром для нормальних середовищ, і etcd попереджає при запуску, якщо налаштоване значення перевищує його.&lt;/p&gt;</description></item><item><title>Системні обмеження</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/limit/</guid><description>&lt;h2 id="request-size-limit"&gt;Обмеження розміру запиту&lt;a class="td-heading-self-link" href="#request-size-limit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd розроблений для обробки невеликих пар ключ-значення, типових для метаданих. Більші запити також працюватимуть, але можуть збільшити затримку інших запитів. Стандартно максимальний розмір будь-якого запиту становить 1.5 MiB. Це обмеження можна налаштувати за допомогою прапорця &lt;code&gt;--max-request-bytes&lt;/code&gt; для сервера etcd.&lt;/p&gt;
&lt;h2 id="storage-size-limit"&gt;Обмеження розміру зберігання&lt;a class="td-heading-self-link" href="#storage-size-limit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Стандартно обмеження розміру зберігання становить 2 GiB, яке можна налаштувати за допомогою прапорця &lt;code&gt;--quota-backend-bytes&lt;/code&gt;. 8 GiB є рекомендованим максимальним розміром для нормальних середовищ, і etcd попереджає при запуску, якщо налаштоване значення перевищує його.&lt;/p&gt;</description></item><item><title>Функції etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/features/</guid><description>&lt;p&gt;Цей документ надає огляд функцій etcd, щоб допомогти користувачам краще зрозуміти функції та повʼязаний процес їх застарівання. Якщо вас цікавить, як функції розробляються в etcd, будь ласка, перегляньте ці &lt;a href="https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/features.md"&gt;керівні принципи розробки&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Функції etcd поділяються на три стадії: експериментальні, стабільні та небезпечні. Ви можете отримати список функцій, запустивши &lt;code&gt;etcd --help&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="experimental"&gt;Експериментальні&lt;a class="td-heading-self-link" href="#experimental" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Щоб отримати ранній зворотний звʼязок, будь-яка нова функція зазвичай додається як експериментальна. Експериментальну функцію можна визначити за назвою прапорця, яка повинна мати префікс &lt;code&gt;--experimental&lt;/code&gt;. Будь ласка, врахуйте наступні моменти під час використання експериментальної функції:&lt;/p&gt;</description></item><item><title>Функції etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/features/</guid><description>&lt;p&gt;Цей документ надає огляд функцій etcd, щоб допомогти користувачам краще зрозуміти функції та повʼязаний процес їх застарівання. Якщо вас цікавить, як функції розробляються в etcd, будь ласка, перегляньте ці &lt;a href="https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/features.md"&gt;керівні принципи розробки&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Функції etcd поділяються на три стадії: експериментальні, стабільні та небезпечні. Ви можете отримати список функцій, запустивши &lt;code&gt;etcd --help&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="experimental"&gt;Експериментальні&lt;a class="td-heading-self-link" href="#experimental" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Щоб отримати ранній зворотний звʼязок, будь-яка нова функція зазвичай додається як експериментальна. Експериментальну функцію можна визначити за назвою прапорця, яка повинна мати префікс &lt;code&gt;--experimental&lt;/code&gt;. Будь ласка, врахуйте наступні моменти під час використання експериментальної функції:&lt;/p&gt;</description></item><item><title>Функції etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/features/</guid><description>&lt;p&gt;Цей документ надає огляд функцій etcd, щоб допомогти користувачам краще зрозуміти функції та повʼязаний процес їх застарівання. Якщо вас цікавить, як функції розробляються в etcd, будь ласка, перегляньте ці &lt;a href="https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/features.md"&gt;керівні принципи розробки&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Функції etcd поділяються на три стадії: експериментальні, стабільні та небезпечні. Ви можете отримати список функцій, запустивши &lt;code&gt;etcd --help&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="experimental"&gt;Експериментальні&lt;a class="td-heading-self-link" href="#experimental" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Щоб отримати ранній зворотний звʼязок, будь-яка нова функція зазвичай додається як експериментальна. Експериментальну функцію можна визначити за назвою прапорця, яка повинна мати префікс &lt;code&gt;--experimental&lt;/code&gt;. Будь ласка, врахуйте наступні моменти під час використання експериментальної функції:&lt;/p&gt;</description></item><item><title>Функції etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/features/</guid><description>&lt;p&gt;Цей документ надає огляд функцій etcd, щоб допомогти користувачам краще зрозуміти функції та повʼязаний процес їх застарівання. Якщо вас цікавить, як функції розробляються в etcd, будь ласка, перегляньте ці &lt;a href="https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/features.md"&gt;керівні принципи розробки&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Функції etcd поділяються на три стадії: експериментальні, стабільні та небезпечні. Ви можете отримати список функцій, запустивши &lt;code&gt;etcd --help&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="experimental"&gt;Експериментальні&lt;a class="td-heading-self-link" href="#experimental" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Щоб отримати ранній зворотний звʼязок, будь-яка нова функція зазвичай додається як експериментальна. Експериментальну функцію можна визначити за назвою прапорця, яка повинна мати префікс &lt;code&gt;--experimental&lt;/code&gt;. Будь ласка, врахуйте наступні моменти під час використання експериментальної функції:&lt;/p&gt;</description></item><item><title>Параметри конфігурації</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/configuration/</guid><description>&lt;p&gt;Ви можете налаштувати etcd за допомогою наступного:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#command-line-flags"&gt;Прапорці командного рядка&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Змінні середовища&lt;/strong&gt;: кожен прапорець має відповідну змінну середовища,
яка має таку ж назву, але з префіксом &lt;code&gt;ETCD_&lt;/code&gt; і у форматі &lt;a href="https://uk.wikipedia.org/wiki/%D0%97%D0%BC%D1%96%D1%97%D0%BD%D0%B8%D0%B9_%D1%80%D0%B5%D0%B3%D1%96%D1%81%D1%82%D1%80"&gt;snake case&lt;/a&gt;. Наприклад, &lt;code&gt;--some-flag&lt;/code&gt; буде &lt;code&gt;ETCD_SOME_FLAG&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#configuration-file"&gt;Файл конфігурації&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;p&gt;&lt;i class="fas fa-exclamation-triangle mr-1"&gt;&lt;/i&gt; &lt;strong&gt;Увага&lt;/strong&gt;: Якщо ви змішуєте параметри конфігурації, то застосовуються наступні правила.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Прапорці командного рядка мають пріоритет над змінними середовища.&lt;/li&gt;
&lt;li&gt;Якщо ви надаєте &lt;em&gt;файл конфігурації&lt;/em&gt;, всі прапорці командного рядка та змінні середовища &lt;strong&gt;ігноруються&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="command-line-flags"&gt;Прапорці командного рядка&lt;a class="td-heading-self-link" href="#command-line-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Прапорці представлені нижче у форматі &lt;code&gt;--flag-name DEFAULT_VALUE&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Параметри конфігурації</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/configuration/</guid><description>&lt;p&gt;Ви можете налаштувати etcd за допомогою наступного:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#command-line-flags"&gt;Прапорці командного рядка&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Змінні середовища&lt;/strong&gt;: кожен прапорець має відповідну змінну середовища,
яка має таку ж назву, але з префіксом &lt;code&gt;ETCD_&lt;/code&gt; і у форматі &lt;a href="https://en.wikipedia.org/wiki/Snake_case"&gt;snake case&lt;/a&gt;. Наприклад, &lt;code&gt;--some-flag&lt;/code&gt; буде &lt;code&gt;ETCD_SOME_FLAG&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#configuration-file"&gt;Файл конфігурації&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;p&gt;&lt;i class="fas fa-exclamation-triangle mr-1"&gt;&lt;/i&gt; &lt;strong&gt;Увага&lt;/strong&gt;: Якщо ви змішуєте параметри конфігурації, то застосовуються наступні правила.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Прапорці командного рядка мають пріоритет над змінними середовища.&lt;/li&gt;
&lt;li&gt;Якщо ви надаєте &lt;em&gt;файл конфігурації&lt;/em&gt;, всі прапорці командного рядка та змінні середовища &lt;strong&gt;ігноруються&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="command-line-flags"&gt;Прапорці командного рядка&lt;a class="td-heading-self-link" href="#command-line-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Прапорці представлені нижче у форматі &lt;code&gt;--flag-name DEFAULT_VALUE&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Параметри конфігурації</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/configuration/</guid><description>&lt;p&gt;Ви можете налаштувати etcd за допомогою наступного:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#command-line-flags"&gt;Прапорці командного рядка&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Змінні середовища&lt;/strong&gt;: кожен прапорець має відповідну змінну середовища, яка має таку ж назву, але з префіксом &lt;code&gt;ETCD_&lt;/code&gt; і у форматі &lt;a href="https://en.wikipedia.org/wiki/Snake_case"&gt;snake case&lt;/a&gt;. Наприклад, &lt;code&gt;--some-flag&lt;/code&gt; буде &lt;code&gt;ETCD_SOME_FLAG&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#configuration-file"&gt;Файл конфігурації&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;p&gt;&lt;i class="fas fa-exclamation-triangle mr-1"&gt;&lt;/i&gt; &lt;strong&gt;Увага&lt;/strong&gt;: Якщо ви змішуєте параметри конфігурації, то застосовуються наступні правила.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Прапорці командного рядка мають пріоритет над змінними середовища.&lt;/li&gt;
&lt;li&gt;Якщо ви надаєте &lt;em&gt;файл конфігурації&lt;/em&gt;, всі прапорці командного рядка та змінні середовища &lt;strong&gt;ігноруються&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="command-line-flags"&gt;Прапорці командного рядка&lt;a class="td-heading-self-link" href="#command-line-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Прапорці представлені нижче у форматі &lt;code&gt;--flag-name DEFAULT_VALUE&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Параметри конфігурації</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/configuration/</guid><description>&lt;p&gt;Ви можете налаштувати etcd за допомогою наступного:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#command-line-flags"&gt;Прапорці командного рядка&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Змінні середовища&lt;/strong&gt;: кожен прапорець має відповідну змінну середовища, яка має таку ж назву, але з префіксом &lt;code&gt;ETCD_&lt;/code&gt; і у форматі &lt;a href="https://en.wikipedia.org/wiki/Snake_case"&gt;snake case&lt;/a&gt;. Наприклад, &lt;code&gt;--some-flag&lt;/code&gt; буде &lt;code&gt;ETCD_SOME_FLAG&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#configuration-file"&gt;Файл конфігурації&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="alert alert-warning" role="alert"&gt;
&lt;p&gt;&lt;i class="fas fa-exclamation-triangle mr-1"&gt;&lt;/i&gt; &lt;strong&gt;Увага&lt;/strong&gt;: Якщо ви змішуєте параметри конфігурації, то застосовуються наступні правила.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Прапорці командного рядка мають пріоритет над змінними середовища.&lt;/li&gt;
&lt;li&gt;Якщо ви надаєте &lt;em&gt;файл конфігурації&lt;/em&gt;, всі прапорці командного рядка та змінні середовища &lt;strong&gt;ігноруються&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="command-line-flags"&gt;Прапорці командного рядка&lt;a class="td-heading-self-link" href="#command-line-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Прапорці представлені нижче у форматі &lt;code&gt;--flag-name DEFAULT_VALUE&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Контроль доступу на основі ролей</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/authentication/rbac/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/authentication/rbac/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Автентифікація була додана в etcd 2.1. API v3 etcd трохи змінив API функції автентифікації та інтерфейс користувача, щоб краще відповідати новій моделі даних. Цей посібник призначений для допомоги користувачам у налаштуванні базової автентифікації та контролю доступу на основі ролей в etcd v3.&lt;/p&gt;
&lt;h2 id="special-users-and-roles"&gt;Спеціальні користувачі та ролі&lt;a class="td-heading-self-link" href="#special-users-and-roles" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Існує один спеціальний користувач, &lt;code&gt;root&lt;/code&gt;, і одна спеціальна роль, &lt;code&gt;root&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="user-root"&gt;Користувач &lt;code&gt;root&lt;/code&gt;&lt;a class="td-heading-self-link" href="#user-root" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Користувач &lt;code&gt;root&lt;/code&gt;, який має повний доступ до etcd, повинен бути створений перед активацією автентифікації. Ідея користувача &lt;code&gt;root&lt;/code&gt; полягає в адміністративних цілях: управління ролями та звичайними користувачами. Користувач &lt;code&gt;root&lt;/code&gt; повинен мати роль &lt;code&gt;root&lt;/code&gt; і має право змінювати будь-що всередині etcd.&lt;/p&gt;</description></item><item><title>Контроль доступу на основі ролей</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/authentication/rbac/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/authentication/rbac/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Автентифікація була додана в etcd 2.1. API v3 etcd трохи змінив API функції автентифікації та інтерфейс користувача, щоб краще відповідати новій моделі даних. Цей посібник призначений для допомоги користувачам у налаштуванні базової автентифікації та контролю доступу на основі ролей в etcd v3.&lt;/p&gt;
&lt;h2 id="special-users-and-roles"&gt;Спеціальні користувачі та ролі&lt;a class="td-heading-self-link" href="#special-users-and-roles" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Існує один спеціальний користувач, &lt;code&gt;root&lt;/code&gt;, і одна спеціальна роль, &lt;code&gt;root&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="user-root"&gt;Користувач &lt;code&gt;root&lt;/code&gt;&lt;a class="td-heading-self-link" href="#user-root" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Користувач &lt;code&gt;root&lt;/code&gt;, який має повний доступ до etcd, повинен бути створений перед активацією автентифікації. Ідея користувача &lt;code&gt;root&lt;/code&gt; полягає в адміністративних цілях: управління ролями та звичайними користувачами. Користувач &lt;code&gt;root&lt;/code&gt; повинен мати роль &lt;code&gt;root&lt;/code&gt; і має право змінювати будь-що всередині etcd.&lt;/p&gt;</description></item><item><title>Контроль доступу на основі ролей</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/authentication/rbac/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/authentication/rbac/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Автентифікація була додана в etcd 2.1. API v3 etcd трохи змінив API функції автентифікації та інтерфейс користувача, щоб краще відповідати новій моделі даних. Цей посібник призначений для допомоги користувачам у налаштуванні базової автентифікації та контролю доступу на основі ролей в etcd v3.&lt;/p&gt;
&lt;h2 id="special-users-and-roles"&gt;Спеціальні користувачі та ролі&lt;a class="td-heading-self-link" href="#special-users-and-roles" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Існує один спеціальний користувач, &lt;code&gt;root&lt;/code&gt;, і одна спеціальна роль, &lt;code&gt;root&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="user-root"&gt;Користувач &lt;code&gt;root&lt;/code&gt;&lt;a class="td-heading-self-link" href="#user-root" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Користувач &lt;code&gt;root&lt;/code&gt;, який має повний доступ до etcd, повинен бути створений перед активацією автентифікації. Ідея користувача &lt;code&gt;root&lt;/code&gt; полягає в адміністративних цілях: управління ролями та звичайними користувачами. Користувач &lt;code&gt;root&lt;/code&gt; повинен мати роль &lt;code&gt;root&lt;/code&gt; і має право змінювати будь-що всередині etcd.&lt;/p&gt;</description></item><item><title>Контроль доступу на основі ролей</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/authentication/rbac/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/authentication/rbac/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Автентифікація була додана в etcd 2.1. API v3 etcd трохи змінив API функції автентифікації та інтерфейс користувача, щоб краще відповідати новій моделі даних. Цей посібник призначений для допомоги користувачам у налаштуванні базової автентифікації та контролю доступу на основі ролей в etcd v3.&lt;/p&gt;
&lt;h2 id="special-users-and-roles"&gt;Спеціальні користувачі та ролі&lt;a class="td-heading-self-link" href="#special-users-and-roles" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Існує один спеціальний користувач, &lt;code&gt;root&lt;/code&gt;, і одна спеціальна роль, &lt;code&gt;root&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="user-root"&gt;Користувач &lt;code&gt;root&lt;/code&gt;&lt;a class="td-heading-self-link" href="#user-root" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Користувач &lt;code&gt;root&lt;/code&gt;, який має повний доступ до etcd, повинен бути створений перед активацією автентифікації. Ідея користувача &lt;code&gt;root&lt;/code&gt; полягає в адміністративних цілях: управління ролями та звичайними користувачами. Користувач &lt;code&gt;root&lt;/code&gt; повинен мати роль &lt;code&gt;root&lt;/code&gt; і має право змінювати будь-що всередині etcd.&lt;/p&gt;</description></item><item><title>Модель транспортної безпеки</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/security/</guid><description>&lt;p&gt;etcd підтримує автоматичний TLS, а також автентифікацію через клієнтські сертифікати як для клієнтів до сервера, так і для звʼязку між вузлами (сервер до сервера / кластер). &lt;strong&gt;Зверніть увагу, що etcd стандартно не вмикає &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/authentication/"&gt;автентифікацію на основі RBAC&lt;/a&gt; або функцію автентифікації на транспортному рівні, щоб зменшити труднощі для користувачів, які починають працювати з базою даних. Крім того, зміна цього стандартного параметра буде порушенням для проєкту, який був заснований у 2013 році. Кластер etcd, який не вмикає функції безпеки, може експонувати свої дані будь-яким клієнтам.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Модель транспортної безпеки</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/security/</guid><description>&lt;p&gt;etcd підтримує автоматичний TLS, а також автентифікацію через клієнтські сертифікати як для клієнтів до сервера, так і для звʼязку між вузлами (сервер до сервера / кластер).&lt;/p&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Попередження&lt;/div&gt;
&lt;p&gt;etcd стандартно не вмикає &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/authentication/"&gt;автентифікацію на основі RBAC&lt;/a&gt; або функцію автентифікації на транспортному рівні, щоб зменшити труднощі для користувачів, які починають працювати з базою даних. Крім того, зміна цього стандартного параметра буде порушенням для проєкту, який був заснований у 2013 році. Кластер etcd, який не вмикає функції безпеки, може експонувати свої дані будь-яким клієнтам.&lt;/p&gt;</description></item><item><title>Модель транспортної безпеки</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/security/</guid><description>&lt;p&gt;etcd підтримує автоматичний TLS, а також автентифікацію через клієнтські сертифікати як для клієнтів до сервера, так і для звʼязку між вузлами (сервер до сервера / кластер). &lt;strong&gt;Зверніть увагу, що etcd стандартно не вмикає &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/authentication/"&gt;автентифікацію на основі RBAC&lt;/a&gt; або функцію автентифікації на транспортному рівні, щоб зменшити труднощі для користувачів, які починають працювати з базою даних. Крім того, зміна цього стандартного параметра буде порушенням для проєкту, який був заснований у 2013 році. Кластер etcd, який не вмикає функції безпеки, може експонувати свої дані будь-яким клієнтам.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Модель транспортної безпеки</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/security/</guid><description>&lt;p&gt;etcd підтримує автоматичний TLS, а також автентифікацію через клієнтські сертифікати як для клієнтів до сервера, так і для звʼязку між вузлами (сервер до сервера / кластер). &lt;strong&gt;Зверніть увагу, що etcd стандартно не вмикає &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/authentication/"&gt;автентифікацію на основі RBAC&lt;/a&gt; або функцію автентифікації на транспортному рівні, щоб зменшити труднощі для користувачів, які починають працювати з базою даних. Крім того, зміна цього стандартного параметра буде порушенням для проєкту, який був заснований у 2013 році. Кластер etcd, який не вмикає функції безпеки, може експонувати свої дані будь-яким клієнтам.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Посібник з кластеризації</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/clustering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/clustering/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запуск кластера etcd статично вимагає, щоб кожен учасник знав іншого в кластері. У ряді випадків IP-адреси учасників кластера можуть бути невідомі заздалегідь. У таких випадках кластер etcd можна запустити за допомогою служби виявлення.&lt;/p&gt;
&lt;p&gt;Після запуску кластера etcd додавання або видалення учасників здійснюється через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/runtime-configuration/"&gt;переконфігурацію під час виконання&lt;/a&gt;. Щоб краще зрозуміти дизайн переконфігурації під час виконання, рекомендуємо прочитати &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/runtime-reconf-design/"&gt;документ про дизайн переконфігурації під час виконання&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Цей посібник охоплює наступні механізми запуску кластера etcd:&lt;/p&gt;</description></item><item><title>Посібник з кластеризації</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/clustering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/clustering/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запуск кластера etcd статично вимагає, щоб кожен учасник знав іншого в кластері. У ряді випадків IP-адреси учасників кластера можуть бути невідомі заздалегідь. У таких випадках кластер etcd можна запустити за допомогою служби виявлення.&lt;/p&gt;
&lt;p&gt;Після запуску кластера etcd додавання або видалення учасників здійснюється через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/runtime-configuration/"&gt;переконфігурацію під час виконання&lt;/a&gt;. Щоб краще зрозуміти дизайн переконфігурації під час виконання, рекомендуємо прочитати &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/runtime-reconf-design/"&gt;документ про дизайн переконфігурації під час виконання&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Цей посібник охоплює наступні механізми запуску кластера etcd:&lt;/p&gt;</description></item><item><title>Посібник з кластеризації</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/clustering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/clustering/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запуск кластера etcd статично вимагає, щоб кожен учасник знав іншого в кластері. У ряді випадків IP-адреси учасників кластера можуть бути невідомі заздалегідь. У таких випадках кластер etcd можна запустити за допомогою служби виявлення.&lt;/p&gt;
&lt;p&gt;Після запуску кластера etcd додавання або видалення учасників здійснюється через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/runtime-configuration/"&gt;переконфігурацію під час виконання&lt;/a&gt;. Щоб краще зрозуміти дизайн переконфігурації під час виконання, рекомендуємо прочитати &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/runtime-reconf-design/"&gt;документ про дизайн переконфігурації під час виконання&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Цей посібник охоплює наступні механізми запуску кластера etcd:&lt;/p&gt;</description></item><item><title>Посібник з кластеризації</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/clustering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/clustering/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запуск кластера etcd статично вимагає, щоб кожен учасник знав іншого в кластері. У ряді випадків IP-адреси учасників кластера можуть бути невідомі заздалегідь. У таких випадках кластер etcd можна запустити за допомогою служби виявлення.&lt;/p&gt;
&lt;p&gt;Після запуску кластера etcd додавання або видалення учасників здійснюється через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/runtime-configuration/"&gt;переконфігурацію під час виконання&lt;/a&gt;. Щоб краще зрозуміти дизайн переконфігурації під час виконання, рекомендуємо прочитати &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/runtime-reconf-design/"&gt;документ про дизайн переконфігурації під час виконання&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Цей посібник охоплює наступні механізми запуску кластера etcd:&lt;/p&gt;</description></item><item><title>Запуск кластерів etcd у контейнерах</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/container/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/container/</guid><description>&lt;p&gt;Наступний посібник показує, як запустити etcd з Docker за допомогою &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/clustering/#static"&gt;статичного процесу початкового завантаження&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="docker"&gt;Docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Щоб відкрити API etcd для клієнтів за межами хосту Docker, використовуйте IP-адресу хосту контейнера. Будь ласка, дивіться &lt;a href="https://docs.docker.com/engine/reference/commandline/inspect"&gt;&lt;code&gt;docker inspect&lt;/code&gt;&lt;/a&gt; для отримання додаткової інформації про те, як отримати IP-адресу. Альтернативно, вкажіть прапорець &lt;code&gt;--net=host&lt;/code&gt; для команди &lt;code&gt;docker run&lt;/code&gt;, щоб пропустити розміщення контейнера всередині окремого мережевого стека.&lt;/p&gt;
&lt;h3 id="running-a-single-node-etcd"&gt;Запуск одного вузла etcd&lt;a class="td-heading-self-link" href="#running-a-single-node-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Використовуйте IP-адресу хосту при налаштуванні etcd:&lt;/p&gt;</description></item><item><title>Запуск кластерів etcd у контейнерах</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/container/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/container/</guid><description>&lt;p&gt;Наступний посібник показує, як запустити etcd з Docker за допомогою &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/clustering/#static"&gt;статичного процесу початкового завантаження&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="docker"&gt;Docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Щоб відкрити API etcd для клієнтів за межами хосту Docker, використовуйте IP-адресу хосту контейнера. Будь ласка, дивіться &lt;a href="https://docs.docker.com/engine/reference/commandline/inspect"&gt;&lt;code&gt;docker inspect&lt;/code&gt;&lt;/a&gt; для отримання додаткової інформації про те, як отримати IP-адресу. Альтернативно, вкажіть прапорець &lt;code&gt;--net=host&lt;/code&gt; для команди &lt;code&gt;docker run&lt;/code&gt;, щоб пропустити розміщення контейнера всередині окремого мережевого стека.&lt;/p&gt;
&lt;h3 id="running-a-single-node-etcd"&gt;Запуск одного вузла etcd&lt;a class="td-heading-self-link" href="#running-a-single-node-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Використовуйте IP-адресу хосту при налаштуванні etcd:&lt;/p&gt;</description></item><item><title>Запуск кластерів etcd у контейнерах</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/container/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/container/</guid><description>&lt;p&gt;Наступний посібник показує, як запустити etcd з Docker за допомогою &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/clustering/#static"&gt;статичного процесу початкового завантаження&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="docker"&gt;Docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Щоб відкрити API etcd для клієнтів за межами хосту Docker, використовуйте IP-адресу хосту контейнера. Будь ласка, дивіться &lt;a href="https://docs.docker.com/engine/reference/commandline/inspect"&gt;&lt;code&gt;docker inspect&lt;/code&gt;&lt;/a&gt; для отримання додаткової інформації про те, як отримати IP-адресу. Альтернативно, вкажіть прапорець &lt;code&gt;--net=host&lt;/code&gt; для команди &lt;code&gt;docker run&lt;/code&gt;, щоб пропустити розміщення контейнера всередині окремого мережевого стека.&lt;/p&gt;
&lt;h3 id="running-a-single-node-etcd"&gt;Запуск одного вузла etcd&lt;a class="td-heading-self-link" href="#running-a-single-node-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Використовуйте IP-адресу хосту при налаштуванні etcd:&lt;/p&gt;</description></item><item><title>Запуск кластерів etcd у контейнерах</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/container/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/container/</guid><description>&lt;p&gt;Наступний посібник показує, як запустити etcd з Docker за допомогою &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/clustering/#static"&gt;статичного процесу початкового завантаження&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="docker"&gt;Docker&lt;a class="td-heading-self-link" href="#docker" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Щоб відкрити API etcd для клієнтів за межами хосту Docker, використовуйте IP-адресу хосту контейнера. Будь ласка, дивіться &lt;a href="https://docs.docker.com/engine/reference/commandline/inspect"&gt;&lt;code&gt;docker inspect&lt;/code&gt;&lt;/a&gt; для отримання додаткової інформації про те, як отримати IP-адресу. Альтернативно, вкажіть прапорець &lt;code&gt;--net=host&lt;/code&gt; для команди &lt;code&gt;docker run&lt;/code&gt;, щоб пропустити розміщення контейнера всередині окремого мережевого стека.&lt;/p&gt;
&lt;h3 id="running-a-single-node-etcd"&gt;Запуск одного вузла etcd&lt;a class="td-heading-self-link" href="#running-a-single-node-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Використовуйте IP-адресу хосту при налаштуванні etcd:&lt;/p&gt;</description></item><item><title>Запуск кластерів etcd як Kubernetes StatefulSet</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/kubernetes/</guid><description>&lt;p&gt;Нижче показано, як виконати &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/clustering/#static"&gt;статичний процес завантаження&lt;/a&gt; як Kubernetes StatefulSet.&lt;/p&gt;
&lt;h2 id="example-manifest"&gt;Приклад маніфесту&lt;a class="td-heading-self-link" href="#example-manifest" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Цей маніфест містить сервіс та statefulset для розгортання статичного кластера etcd у Kubernetes.&lt;/p&gt;
&lt;p&gt;Якщо ви скопіюєте вміст маніфесту у файл з назвою &lt;code&gt;etcd.yaml&lt;/code&gt;, його можна застосувати до кластера за допомогою цієї команди.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ kubectl apply --filename etcd.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Після застосування, зачекайте, поки podʼи стануть готовими.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ kubectl get pods
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NAME READY STATUS RESTARTS AGE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-0 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-1 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-2 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Контейнер, використаний у прикладі, включає etcdctl і може бути викликаний безпосередньо всередині podʼів.&lt;/p&gt;</description></item><item><title>Запуск кластерів etcd як Kubernetes StatefulSet</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/kubernetes/</guid><description>&lt;p&gt;Нижче показано, як виконати &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/clustering/#static"&gt;статичний процес завантаження&lt;/a&gt; як Kubernetes StatefulSet.&lt;/p&gt;
&lt;h2 id="example-manifest"&gt;Приклад маніфесту&lt;a class="td-heading-self-link" href="#example-manifest" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Цей маніфест містить сервіс та statefulset для розгортання статичного кластера etcd у Kubernetes.&lt;/p&gt;
&lt;p&gt;Якщо ви скопіюєте вміст маніфесту у файл з назвою &lt;code&gt;etcd.yaml&lt;/code&gt;, його можна застосувати до кластера за допомогою цієї команди.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ kubectl apply --filename etcd.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Після застосування, зачекайте, поки podʼи стануть готовими.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ kubectl get pods
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NAME READY STATUS RESTARTS AGE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-0 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-1 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-2 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Контейнер, використаний у прикладі, включає etcdctl і може бути викликаний безпосередньо всередині podʼів.&lt;/p&gt;</description></item><item><title>Запуск кластерів etcd як Kubernetes StatefulSet</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/kubernetes/</guid><description>&lt;p&gt;Нижче показано, як виконати &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/clustering/#static"&gt;статичний процес завантаження&lt;/a&gt; як Kubernetes StatefulSet.&lt;/p&gt;
&lt;h2 id="example-manifest"&gt;Приклад маніфесту&lt;a class="td-heading-self-link" href="#example-manifest" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Цей маніфест містить сервіс та statefulset для розгортання статичного кластера etcd у Kubernetes.&lt;/p&gt;
&lt;p&gt;Якщо ви скопіюєте вміст маніфесту у файл з назвою &lt;code&gt;etcd.yaml&lt;/code&gt;, його можна застосувати до кластера за допомогою цієї команди.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ kubectl apply --filename etcd.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Після застосування, зачекайте, поки podʼи стануть готовими.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ kubectl get pods
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NAME READY STATUS RESTARTS AGE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-0 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-1 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-2 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Контейнер, використаний у прикладі, включає etcdctl і може бути викликаний безпосередньо всередині podʼів.&lt;/p&gt;</description></item><item><title>Запуск кластерів etcd як Kubernetes StatefulSet</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/kubernetes/</guid><description>&lt;p&gt;Нижче показано, як виконати &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/clustering/#static"&gt;статичний процес завантаження&lt;/a&gt; як Kubernetes StatefulSet.&lt;/p&gt;
&lt;h2 id="example-manifest"&gt;Приклад маніфесту&lt;a class="td-heading-self-link" href="#example-manifest" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Цей маніфест містить сервіс та statefulset для розгортання статичного кластера etcd у Kubernetes.&lt;/p&gt;
&lt;p&gt;Якщо ви скопіюєте вміст маніфесту у файл з назвою &lt;code&gt;etcd.yaml&lt;/code&gt;, його можна застосувати до кластера за допомогою цієї команди.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ kubectl apply --filename etcd.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Після застосування, зачекайте, поки podʼи стануть готовими.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ kubectl get pods
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NAME READY STATUS RESTARTS AGE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-0 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-1 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd-2 1/1 Running &lt;span class="m"&gt;0&lt;/span&gt; 24m
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Контейнер, використаний у прикладі, включає etcdctl і може бути викликаний безпосередньо всередині podʼів.&lt;/p&gt;</description></item><item><title>Режими відмов</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/failures/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/failures/</guid><description>&lt;p&gt;Відмови є звичайним явищем у великому розгортанні машин. Машина виходить з ладу, коли її апаратне або програмне забезпечення виходить з ладу. Кілька машин виходять з ладу одночасно, коли виникають перебої з електроживленням або проблеми з мережею. Також можуть статися кілька видів відмов одночасно; майже неможливо перерахувати всі можливі випадки відмов.&lt;/p&gt;
&lt;p&gt;У цьому розділі ми каталогізуємо види відмов і обговорюємо, як etcd розроблений для стійкості до цих відмов. Більшість користувачів, якщо не всі, можуть зіставити конкретну відмову з одним із видів відмов. Щоб підготуватися до рідкісних або &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/recovery/"&gt;непоправних відмов&lt;/a&gt;, завжди &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/maintenance/#snapshot-backup"&gt;робіть резервні копії&lt;/a&gt; кластера etcd.&lt;/p&gt;</description></item><item><title>Режими відмов</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/failures/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/failures/</guid><description>&lt;p&gt;Відмови є звичайним явищем у великому розгортанні машин. Машина виходить з ладу, коли її апаратне або програмне забезпечення виходить з ладу. Кілька машин виходять з ладу одночасно, коли виникають перебої з електроживленням або проблеми з мережею. Також можуть статися кілька видів відмов одночасно; майше неможливо перерахувати всі можливі випадки відмов.&lt;/p&gt;
&lt;p&gt;У цьому розділі ми каталогізуємо види відмов і обговорюємо, як etcd розроблений для стійкості до цих відмов. Більшість користувачів, якщо не всі, можуть зіставити конкретну відмову з одним із видів відмов. Щоб підготуватися до рідкісних або &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/recovery/"&gt;непоправних відмов&lt;/a&gt;, завжди &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/maintenance/#snapshot-backup"&gt;робіть резервні копії&lt;/a&gt; кластера etcd.&lt;/p&gt;</description></item><item><title>Режими відмов</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/failures/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/failures/</guid><description>&lt;p&gt;Відмови є звичайним явищем у великому розгортанні машин. Машина виходить з ладу, коли її апаратне або програмне забезпечення виходить з ладу. Кілька машин виходять з ладу одночасно, коли виникають перебої з електроживленням або проблеми з мережею. Також можуть статися кілька видів відмов одночасно; майше неможливо перерахувати всі можливі випадки відмов.&lt;/p&gt;
&lt;p&gt;У цьому розділі ми каталогізуємо види відмов і обговорюємо, як etcd розроблений для стійкості до цих відмов. Більшість користувачів, якщо не всі, можуть зіставити конкретну відмову з одним із видів відмов. Щоб підготуватися до рідкісних або &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/recovery/"&gt;непоправних відмов&lt;/a&gt;, завжди &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/maintenance/#snapshot-backup"&gt;робіть резервні копії&lt;/a&gt; кластера etcd.&lt;/p&gt;</description></item><item><title>Режими відмов</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/failures/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/failures/</guid><description>&lt;p&gt;Відмови є звичайним явищем у великому розгортанні машин. Машина виходить з ладу, коли її апаратне або програмне забезпечення виходить з ладу. Кілька машин виходять з ладу одночасно, коли виникають перебої з електроживленням або проблеми з мережею. Також можуть статися кілька видів відмов одночасно; майше неможливо перерахувати всі можливі випадки відмов.&lt;/p&gt;
&lt;p&gt;У цьому розділі ми каталогізуємо види відмов і обговорюємо, як etcd розроблений для стійкості до цих відмов. Більшість користувачів, якщо не всі, можуть зіставити конкретну відмову з одним із видів відмов. Щоб підготуватися до рідкісних або &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/recovery/"&gt;непоправних відмов&lt;/a&gt;, завжди &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/maintenance/#snapshot-backup"&gt;робіть резервні копії&lt;/a&gt; кластера etcd.&lt;/p&gt;</description></item><item><title>Відновлення після катастрофи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/recovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/recovery/</guid><description>&lt;p&gt;etcd розроблений для витримування збоїв машин. Кластер etcd автоматично відновлюється після тимчасових збоїв (наприклад, перезавантаження машини) і витримує до &lt;em&gt;(N-1)/2&lt;/em&gt; постійних збоїв для кластера з N учасників. Коли учасник постійно виходить з ладу, хай то через апаратний збій або пошкодження диска, він втрачає доступ до кластера. Якщо кластер постійно втрачає більше ніж &lt;em&gt;(N-1)/2&lt;/em&gt; учасників, то він катастрофічно виходить з ладу, безповоротно втрачаючи кворум. Після втрати кворуму кластер не може досягти консенсусу і, отже, не може продовжувати приймати оновлення.&lt;/p&gt;</description></item><item><title>Відновлення після катастрофи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/recovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/recovery/</guid><description>&lt;p&gt;etcd розроблений для витримування збоїв машин. Кластер etcd автоматично відновлюється після тимчасових збоїв (наприклад, перезавантаження машини) і витримує до &lt;em&gt;(N-1)/2&lt;/em&gt; постійних збоїв для кластера з N учасників. Коли учасник постійно виходить з ладу, хай то через апаратний збій або пошкодження диска, він втрачає доступ до кластера. Якщо кластер постійно втрачає більше ніж &lt;em&gt;(N-1)/2&lt;/em&gt; учасників, то він катастрофічно виходить з ладу, безповоротно втрачаючи кворум. Після втрати кворуму кластер не може досягти консенсусу і, отже, не може продовжувати приймати оновлення.&lt;/p&gt;</description></item><item><title>Відновлення після катастрофи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/recovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/recovery/</guid><description>&lt;p&gt;etcd розроблений для витримування збоїв машин. Кластер etcd автоматично відновлюється після тимчасових збоїв (наприклад, перезавантаження машини) і витримує до &lt;em&gt;(N-1)/2&lt;/em&gt; постійних збоїв для кластера з N учасників. Коли учасник постійно виходить з ладу, хай то через апаратний збій або пошкодження диска, він втрачає доступ до кластера. Якщо кластер постійно втрачає більше ніж &lt;em&gt;(N-1)/2&lt;/em&gt; учасників, то він катастрофічно виходить з ладу, безповоротно втрачаючи кворум. Після втрати кворуму кластер не може досягти консенсусу і, отже, не може продовжувати приймати оновлення.&lt;/p&gt;</description></item><item><title>Відновлення після катастрофи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/recovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/recovery/</guid><description>&lt;p&gt;etcd розроблений для витримування збоїв машин. Кластер etcd автоматично відновлюється після тимчасових збоїв (наприклад, перезавантаження машини) і витримує до &lt;em&gt;(N-1)/2&lt;/em&gt; постійних збоїв для кластера з N учасників. Коли учасник постійно виходить з ладу, хай то через апаратний збій або пошкодження диска, він втрачає доступ до кластера. Якщо кластер постійно втрачає більше ніж &lt;em&gt;(N-1)/2&lt;/em&gt; учасників, то він катастрофічно виходить з ладу, безповоротно втрачаючи кворум. Після втрати кворуму кластер не може досягти консенсусу і, отже, не може продовжувати приймати оновлення.&lt;/p&gt;</description></item><item><title>etcd gateway</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/gateway/</guid><description>&lt;h2 id="what-is-etcd-gateway"&gt;Що таке etcd gateway&lt;a class="td-heading-self-link" href="#what-is-etcd-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd gateway — це простий TCP-проксі, який пересилає мережеві дані до кластера etcd. Шлюз є stateless та прозорим; він не перевіряє запити клієнтів і не втручається у відповіді кластера. Він не термінує TLS-зʼєднання, не виконує TLS-рукостискання від імені своїх клієнтів і не перевіряє, чи є зʼєднання захищеним.&lt;/p&gt;
&lt;p&gt;Шлюз підтримує кілька точок доступу сервера etcd і працює за простою політикою обходу по колу. Він маршрутизує лише до доступних точок доступу і приховує збої від своїх клієнтів. Інші політики повторних спроб, такі як зважений обхід по колу, можуть бути підтримані в майбутньому.&lt;/p&gt;</description></item><item><title>etcd gateway</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/gateway/</guid><description>&lt;h2 id="what-is-etcd-gateway"&gt;Що таке etcd gateway&lt;a class="td-heading-self-link" href="#what-is-etcd-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd gateway — це простий TCP-проксі, який пересилає мережеві дані до кластера etcd. Шлюз є stateless та прозорим; він не перевіряє запити клієнтів і не втручається у відповіді кластера. Він не термінує TLS-зʼєднання, не виконує TLS-рукостискання від імені своїх клієнтів і не перевіряє, чи є зʼєднання захищеним.&lt;/p&gt;
&lt;p&gt;Шлюз підтримує кілька точок доступу сервера etcd і працює за простою політикою обходу по колу. Він маршрутизує лише до доступних точок доступу і приховує збої від своїх клієнтів. Інші політики повторних спроб, такі як зважений обхід по колу, можуть бути підтримані в майбутньому.&lt;/p&gt;</description></item><item><title>etcd gateway</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/gateway/</guid><description>&lt;h2 id="what-is-etcd-gateway"&gt;Що таке etcd gateway&lt;a class="td-heading-self-link" href="#what-is-etcd-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd gateway — це простий TCP-проксі, який пересилає мережеві дані до кластера etcd. Шлюз є stateless та прозорим; він не перевіряє запити клієнтів і не втручається у відповіді кластера. Він не термінує TLS-зʼєднання, не виконує TLS-рукостискання від імені своїх клієнтів і не перевіряє, чи є зʼєднання захищеним.&lt;/p&gt;
&lt;p&gt;Шлюз підтримує кілька точок доступу сервера etcd і працює за простою політикою обходу по колу. Він маршрутизує лише до доступних точок доступу і приховує збої від своїх клієнтів. Інші політики повторних спроб, такі як зважений обхід по колу, можуть бути підтримані в майбутньому.&lt;/p&gt;</description></item><item><title>etcd gateway</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/gateway/</guid><description>&lt;h2 id="what-is-etcd-gateway"&gt;Що таке etcd gateway&lt;a class="td-heading-self-link" href="#what-is-etcd-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd gateway — це простий TCP-проксі, який пересилає мережеві дані до кластера etcd. Шлюз є stateless та прозорим; він не перевіряє запити клієнтів і не втручається у відповіді кластера. Він не термінує TLS-зʼєднання, не виконує TLS-рукостискання від імені своїх клієнтів і не перевіряє, чи є зʼєднання захищеним.&lt;/p&gt;
&lt;p&gt;Шлюз підтримує кілька точок доступу сервера etcd і працює за простою політикою обходу по колу. Він маршрутизує лише до доступних точок доступу і приховує збої від своїх клієнтів. Інші політики повторних спроб, такі як зважений обхід по колу, можуть бути підтримані в майбутньому.&lt;/p&gt;</description></item><item><title>gRPC proxy</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/grpc_proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/grpc_proxy/</guid><description>&lt;p&gt;gRPC proxy — це stateless зворотний проксі-сервер etcd, що працює на рівні gRPC (L7). Проксі-сервер призначений для зменшення загального навантаження на основний кластер etcd. Для горизонтальної масштабованості він обʼєднує запити API спостереження та оренди. Щоб захистити кластер від зловмисних клієнтів, він кешує запити діапазону ключів.&lt;/p&gt;
&lt;p&gt;gRPC proxy підтримує кілька точок доступу сервера etcd. Коли проксі-сервер запускається, він випадковим чином вибирає одну точку доступу сервера etcd для використання. Ця точка доступу обслуговує всі запити, доки проксі-сервер не виявить збій точки доступу. Якщо gRPC proxy виявляє збій точки доступу, він перемикається на іншу точку доступу, якщо вона доступна, щоб приховати збої від своїх клієнтів. Інші політики повторних спроб, такі як зважений круговий алгоритм, можуть бути підтримані в майбутньому.&lt;/p&gt;</description></item><item><title>gRPC proxy</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/grpc_proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/grpc_proxy/</guid><description>&lt;p&gt;gRPC proxy — це stateless зворотний проксі-сервер etcd, що працює на рівні gRPC (L7). Проксі-сервер призначений для зменшення загального навантаження на основний кластер etcd. Для горизонтальної масштабованості він обʼєднує запити API спостереження та оренди. Щоб захистити кластер від зловмисних клієнтів, він кешує запити діапазону ключів.&lt;/p&gt;
&lt;p&gt;gRPC proxy підтримує кілька точок доступу сервера etcd. Коли проксі-сервер запускається, він випадковим чином вибирає одну точку доступу сервера etcd для використання. Ця точка доступу обслуговує всі запити, доки проксі-сервер не виявить збій точки доступу. Якщо gRPC proxy виявляє збій точки доступу, він перемикається на іншу точку доступу, якщо вона доступна, щоб приховати збої від своїх клієнтів. Інші політики повторних спроб, такі як зважений круговий алгоритм, можуть бути підтримані в майбутньому.&lt;/p&gt;</description></item><item><title>gRPC proxy</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/grpc_proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/grpc_proxy/</guid><description>&lt;p&gt;gRPC proxy — це stateless зворотний проксі-сервер etcd, що працює на рівні gRPC (L7). Проксі-сервер призначений для зменшення загального навантаження на основний кластер etcd. Для горизонтальної масштабованості він обʼєднує запити API спостереження та оренди. Щоб захистити кластер від зловмисних клієнтів, він кешує запити діапазону ключів.&lt;/p&gt;
&lt;p&gt;gRPC proxy підтримує кілька точок доступу сервера etcd. Коли проксі-сервер запускається, він випадковим чином вибирає одну точку доступу сервера etcd для використання. Ця точка доступу обслуговує всі запити, доки проксі-сервер не виявить збій точки доступу. Якщо gRPC proxy виявляє збій точки доступу, він перемикається на іншу точку доступу, якщо вона доступна, щоб приховати збої від своїх клієнтів. Інші політики повторних спроб, такі як зважений круговий алгоритм, можуть бути підтримані в майбутньому.&lt;/p&gt;</description></item><item><title>gRPC proxy</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/grpc_proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/grpc_proxy/</guid><description>&lt;p&gt;gRPC proxy — це stateless зворотний проксі-сервер etcd, що працює на рівні gRPC (L7). Проксі-сервер призначений для зменшення загального навантаження на основний кластер etcd. Для горизонтальної масштабованості він обʼєднує запити API спостереження та оренди. Щоб захистити кластер від зловмисних клієнтів, він кешує запити діапазону ключів.&lt;/p&gt;
&lt;p&gt;gRPC proxy підтримує кілька точок доступу сервера etcd. Коли проксі-сервер запускається, він випадковим чином вибирає одну точку доступу сервера etcd для використання. Ця точка доступу обслуговує всі запити, доки проксі-сервер не виявить збій точки доступу. Якщо gRPC proxy виявляє збій точки доступу, він перемикається на іншу точку доступу, якщо вона доступна, щоб приховати збої від своїх клієнтів. Інші політики повторних спроб, такі як зважений круговий алгоритм, можуть бути підтримані в майбутньому.&lt;/p&gt;</description></item><item><title>Рекомендації щодо обладнання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/hardware/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/hardware/</guid><description>&lt;p&gt;etcd зазвичай добре працює з обмеженими ресурсами для розробки або тестування; зазвичай розробку за допомогою etcd виконують на ноутбуці або дешевій хмарній машині. Однак, при запуску кластерів etcd у промислових умовах, для належного адміністрування можуть бути корисними деякі рекомендації щодо апаратного забезпечення. Ці рекомендації не є жорсткими правилами; вони слугують гарною відправною точкою для надійного розгортання у промислових умовах. Як завжди, розгортання слід тестувати з імітацією робочих навантажень перед запуском у експлуатацію.&lt;/p&gt;</description></item><item><title>Рекомендації щодо обладнання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/hardware/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/hardware/</guid><description>&lt;p&gt;etcd зазвичай добре працює з обмеженими ресурсами для розробки або тестування; зазвичай розробку за допомогою etcd виконують на ноутбуці або дешевій хмарній машині. Однак, при запуску кластерів etcd у промислових умовах, для належного адміністрування можуть бути корисними деякі рекомендації щодо апаратного забезпечення. Ці рекомендації не є жорсткими правилами; вони слугують гарною відправною точкою для надійного розгортання у промислових умовах. Як завжди, розгортання слід тестувати з імітацією робочих навантажень перед запуском у експлуатацію.&lt;/p&gt;</description></item><item><title>Рекомендації щодо обладнання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/hardware/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/hardware/</guid><description>&lt;p&gt;etcd зазвичай добре працює з обмеженими ресурсами для розробки або тестування; зазвичай розробку за допомогою etcd виконують на ноутбуці або дешевій хмарній машині. Однак, при запуску кластерів etcd у промислових умовах, для належного адміністрування можуть бути корисними деякі рекомендації щодо апаратного забезпечення. Ці рекомендації не є жорсткими правилами; вони слугують гарною відправною точкою для надійного розгортання у промислових умовах. Як завжди, розгортання слід тестувати з імітацією робочих навантажень перед запуском у експлуатацію.&lt;/p&gt;</description></item><item><title>Рекомендації щодо обладнання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/hardware/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/hardware/</guid><description>&lt;p&gt;etcd зазвичай добре працює з обмеженими ресурсами для розробки або тестування; зазвичай розробку за допомогою etcd виконують на ноутбуці або дешевій хмарній машині. Однак, при запуску кластерів etcd у промислових умовах, для належного адміністрування можуть бути корисними деякі рекомендації щодо апаратного забезпечення. Ці рекомендації не є жорсткими правилами; вони слугують гарною відправною точкою для надійного розгортання у промислових умовах. Як завжди, розгортання слід тестувати з імітацією робочих навантажень перед запуском у експлуатацію.&lt;/p&gt;</description></item><item><title>Обслуговування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/maintenance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/maintenance/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Кластер etcd потребує періодичного обслуговування, щоб залишатися надійним. Залежно від потреб застосунку etcd, це обслуговування зазвичай можна автоматизувати та виконувати без простоїв або значного зниження продуктивності.&lt;/p&gt;
&lt;p&gt;Все обслуговування etcd керує ресурсами зберігання, які споживає ключовий простір etcd. Недостатній контроль розміру ключового простору захищений квотами на дисковий простір; якщо учаснику etcd не вистачає місця, квота викликає кластерні тривоги, які переводять систему в режим обмеженого обслуговування. Щоб уникнути нестачі місця для записів у ключовий простір, історія ключового простору etcd повинна бути стиснута. Сам дисковий простір можна відновити шляхом дефрагментації учасників etcd. Нарешті, періодичні резервні копії знімків стану учасників etcd дозволяють відновити будь-які ненавмисні логічні втрати даних або пошкодження, спричинені операційною помилкою.&lt;/p&gt;</description></item><item><title>Обслуговування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/maintenance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/maintenance/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Кластер etcd потребує періодичного обслуговування, щоб залишатися надійним. Залежно від потреб застосунку etcd, це обслуговування зазвичай можна автоматизувати та виконувати без простоїв або значного зниження продуктивності.&lt;/p&gt;
&lt;p&gt;Все обслуговування etcd керує ресурсами зберігання, які споживає ключовий простір etcd. Недостатній контроль розміру ключового простору захищений квотами на дисковий простір; якщо учаснику etcd не вистачає місця, квота викликає кластерні тривоги, які переводять систему в режим обмеженого обслуговування. Щоб уникнути нестачі місця для записів у ключовий простір, історія ключового простору etcd повинна бути стиснута. Сам дисковий простір можна відновити шляхом дефрагментації учасників etcd. Нарешті, періодичні резервні копії знімків стану учасників etcd дозволяють відновити будь-які ненавмисні логічні втрати даних або пошкодження, спричинені операційною помилкою.&lt;/p&gt;</description></item><item><title>Обслуговування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/maintenance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/maintenance/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Кластер etcd потребує періодичного обслуговування, щоб залишатися надійним. Залежно від потреб застосунку etcd, це обслуговування зазвичай можна автоматизувати та виконувати без простоїв або значного зниження продуктивності.&lt;/p&gt;
&lt;p&gt;Все обслуговування etcd керує ресурсами зберігання, які споживає ключовий простір etcd. Недостатній контроль розміру ключового простору захищений квотами на дисковий простір; якщо учаснику etcd не вистачає місця, квота викликає кластерні тривоги, які переводять систему в режим обмеженого обслуговування. Щоб уникнути нестачі місця для записів у ключовий простір, історія ключового простору etcd повинна бути стиснута. Сам дисковий простір можна відновити шляхом дефрагментації учасників etcd. Нарешті, періодичні резервні копії знімків стану учасників etcd дозволяють відновити будь-які ненавмисні логічні втрати даних або пошкодження, спричинені операційною помилкою.&lt;/p&gt;</description></item><item><title>Обслуговування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/maintenance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/maintenance/</guid><description>&lt;h2 id="overview"&gt;Огляд&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Кластер etcd потребує періодичного обслуговування, щоб залишатися надійним. Залежно від потреб застосунку etcd, це обслуговування зазвичай можна автоматизувати та виконувати без простоїв або значного зниження продуктивності.&lt;/p&gt;
&lt;p&gt;Все обслуговування etcd керує ресурсами зберігання, які споживає ключовий простір etcd. Недостатній контроль розміру ключового простору захищений квотами на дисковий простір; якщо учаснику etcd не вистачає місця, квота викликає кластерні тривоги, які переводять систему в режим обмеженого обслуговування. Щоб уникнути нестачі місця для записів у ключовий простір, історія ключового простору etcd повинна бути стиснута. Сам дисковий простір можна відновити шляхом дефрагментації учасників etcd. Нарешті, періодичні резервні копії знімків стану учасників etcd дозволяють відновити будь-які ненавмисні логічні втрати даних або пошкодження, спричинені операційною помилкою.&lt;/p&gt;</description></item><item><title>Моніторинг etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/monitoring/</guid><description>&lt;p&gt;Кожен сервер etcd надає локальну інформацію про моніторинг на своєму клієнтському порту через точки доступу http. Дані моніторингу корисні як для перевірки справності системи, так і для налагодження кластера.&lt;/p&gt;
&lt;h2 id="debug-endpoint"&gt;Debug endpoint&lt;a class="td-heading-self-link" href="#debug-endpoint" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Якщо встановлено &lt;code&gt;--log-level=debug&lt;/code&gt;, сервер etcd експортує інформацію для налагодження на своєму клієнтському порту за шляхом &lt;code&gt;/debug&lt;/code&gt;. Будьте обережні при встановленні &lt;code&gt;--log-level=debug&lt;/code&gt;, оскільки це призведе до зниження продуктивності та великої кількості логів.&lt;/p&gt;
&lt;p&gt;Точка доступу &lt;code&gt;/debug/pprof&lt;/code&gt; є стандартною точкою доступу для профілювання виконання Go. Це можна використовувати для профілювання використання CPU, heap, mutex та goroutine. Наприклад, тут &lt;code&gt;go tool pprof&lt;/code&gt; отримує топ 10 функцій, де etcd витрачає свій час:&lt;/p&gt;</description></item><item><title>Моніторинг etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/monitoring/</guid><description>&lt;p&gt;Кожен сервер etcd надає локальну інформацію про моніторинг на своєму клієнтському порту через точки доступу http. Дані моніторингу корисні як для перевірки справності системи, так і для налагодження кластера.&lt;/p&gt;
&lt;h2 id="debug-endpoint"&gt;Debug endpoint&lt;a class="td-heading-self-link" href="#debug-endpoint" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Якщо встановлено &lt;code&gt;--log-level=debug&lt;/code&gt;, сервер etcd експортує інформацію для налагодження на своєму клієнтському порту за шляхом &lt;code&gt;/debug&lt;/code&gt;. Будьте обережні при встановленні &lt;code&gt;--log-level=debug&lt;/code&gt;, оскільки це призведе до зниження продуктивності та великої кількості логів.&lt;/p&gt;
&lt;p&gt;Точка доступу &lt;code&gt;/debug/pprof&lt;/code&gt; є стандартною точкою доступу для профілювання виконання Go. Це можна використовувати для профілювання використання CPU, heap, mutex та goroutine. Наприклад, тут &lt;code&gt;go tool pprof&lt;/code&gt; отримує топ 10 функцій, де etcd витрачає свій час:&lt;/p&gt;</description></item><item><title>Моніторинг etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/monitoring/</guid><description>&lt;p&gt;Кожен сервер etcd надає локальну інформацію про моніторинг на своєму клієнтському порту через точки доступу http. Дані моніторингу корисні як для перевірки справності системи, так і для налагодження кластера.&lt;/p&gt;
&lt;h2 id="debug-endpoint"&gt;Debug endpoint&lt;a class="td-heading-self-link" href="#debug-endpoint" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Якщо встановлено &lt;code&gt;--log-level=debug&lt;/code&gt;, сервер etcd експортує інформацію для налагодження на своєму клієнтському порту за шляхом &lt;code&gt;/debug&lt;/code&gt;. Будьте обережні при встановленні &lt;code&gt;--log-level=debug&lt;/code&gt;, оскільки це призведе до зниження продуктивності та великої кількості логів.&lt;/p&gt;
&lt;p&gt;Точка доступу &lt;code&gt;/debug/pprof&lt;/code&gt; є стандартною точкою доступу для профілювання виконання Go. Це можна використовувати для профілювання використання CPU, heap, mutex та goroutine. Наприклад, тут &lt;code&gt;go tool pprof&lt;/code&gt; отримує топ 10 функцій, де etcd витрачає свій час:&lt;/p&gt;</description></item><item><title>Моніторинг etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/monitoring/</guid><description>&lt;p&gt;Кожен сервер etcd надає локальну інформацію про моніторинг на своєму клієнтському порту через точки доступу http. Дані моніторингу корисні як для перевірки справності системи, так і для налагодження кластера.&lt;/p&gt;
&lt;h2 id="debug-endpoint"&gt;Debug endpoint&lt;a class="td-heading-self-link" href="#debug-endpoint" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Якщо встановлено &lt;code&gt;--log-level=debug&lt;/code&gt;, сервер etcd експортує інформацію для налагодження на своєму клієнтському порту за шляхом &lt;code&gt;/debug&lt;/code&gt;. Будьте обережні при встановленні &lt;code&gt;--log-level=debug&lt;/code&gt;, оскільки це призведе до зниження продуктивності та великої кількості логів.&lt;/p&gt;
&lt;p&gt;Точка доступу &lt;code&gt;/debug/pprof&lt;/code&gt; є стандартною точкою доступу для профілювання виконання Go. Це можна використовувати для профілювання використання CPU, heap, mutex та goroutine. Наприклад, тут &lt;code&gt;go tool pprof&lt;/code&gt; отримує топ 10 функцій, де etcd витрачає свій час:&lt;/p&gt;</description></item><item><title>Продуктивність</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/performance/</guid><description>&lt;h2 id="understanding-performance"&gt;Розуміння продуктивності&lt;a class="td-heading-self-link" href="#understanding-performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd забезпечує стабільну, стійку високу продуктивність. Два фактори визначають продуктивність: затримка та пропускна здатність. Затримка — це час, необхідний для завершення операції. Пропускна здатність — це загальна кількість операцій, виконаних за певний період часу. Зазвичай середня затримка збільшується зі збільшенням загальної пропускної здатності, коли etcd приймає одночасні запити клієнтів. У звичайних хмарних середовищах, таких як стандартний &lt;code&gt;n-4&lt;/code&gt; у Google Compute Engine (GCE) або аналогічний тип машини на AWS, кластер etcd з трьох учасників завершує запит менш ніж за одну мілісекунду при невеликому навантаженні та може виконувати понад 30 000 запитів на секунду при великому навантаженні.&lt;/p&gt;</description></item><item><title>Продуктивність</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/performance/</guid><description>&lt;h2 id="understanding-performance"&gt;Розуміння продуктивності&lt;a class="td-heading-self-link" href="#understanding-performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd забезпечує стабільну, стійку високу продуктивність. Два фактори визначають продуктивність: затримка та пропускна здатність. Затримка — це час, необхідний для завершення операції. Пропускна здатність — це загальна кількість операцій, виконаних за певний період часу. Зазвичай середня затримка збільшується зі збільшенням загальної пропускної здатності, коли etcd приймає одночасні запити клієнтів. У звичайних хмарних середовищах, таких як стандартний &lt;code&gt;n-4&lt;/code&gt; у Google Compute Engine (GCE) або аналогічний тип машини на AWS, кластер etcd з трьох учасників завершує запит менш ніж за одну мілісекунду при невеликому навантаженні та може виконувати понад 30 000 запитів на секунду при великому навантаженні.&lt;/p&gt;</description></item><item><title>Продуктивність</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/performance/</guid><description>&lt;h2 id="understanding-performance"&gt;Розуміння продуктивності&lt;a class="td-heading-self-link" href="#understanding-performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd забезпечує стабільну, стійку високу продуктивність. Два фактори визначають продуктивність: затримка та пропускна здатність. Затримка — це час, необхідний для завершення операції. Пропускна здатність — це загальна кількість операцій, виконаних за певний період часу. Зазвичай середня затримка збільшується зі збільшенням загальної пропускної здатності, коли etcd приймає одночасні запити клієнтів. У звичайних хмарних середовищах, таких як стандартний &lt;code&gt;n-4&lt;/code&gt; у Google Compute Engine (GCE) або аналогічний тип машини на AWS, кластер etcd з трьох учасників завершує запит менш ніж за одну мілісекунду при невеликому навантаженні та може виконувати понад 30 000 запитів на секунду при великому навантаженні.&lt;/p&gt;</description></item><item><title>Продуктивність</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/performance/</guid><description>&lt;h2 id="understanding-performance"&gt;Розуміння продуктивності&lt;a class="td-heading-self-link" href="#understanding-performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd забезпечує стабільну, стійку високу продуктивність. Два фактори визначають продуктивність: затримка та пропускна здатність. Затримка — це час, необхідний для завершення операції. Пропускна здатність — це загальна кількість операцій, виконаних за певний період часу. Зазвичай середня затримка збільшується зі збільшенням загальної пропускної здатності, коли etcd приймає одночасні запити клієнтів. У звичайних хмарних середовищах, таких як стандартний &lt;code&gt;n-4&lt;/code&gt; у Google Compute Engine (GCE) або аналогічний тип машини на AWS, кластер etcd з трьох учасників завершує запит менш ніж за одну мілісекунду при невеликому навантаженні та може виконувати понад 30 000 запитів на секунду при великому навантаженні.&lt;/p&gt;</description></item><item><title>Дизайн реконфігурації під час виконання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/runtime-reconf-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/runtime-reconf-design/</guid><description>&lt;p&gt;Реконфігурація під час виконання є однією з найскладніших і найбільш схильних до помилок функцій у розподіленій системі, особливо в системах, заснованих на консенсусі, таких як etcd.&lt;/p&gt;
&lt;p&gt;Читайте далі, щоб дізнатися про дизайн команд конфігурації під час виконання в etcd і як ми розвʼязали ці проблеми.&lt;/p&gt;
&lt;h2 id="two-phase-config-changes-keep-the-cluster-safe"&gt;Двофазні зміни конфігурації забезпечують безпеку кластера&lt;a class="td-heading-self-link" href="#two-phase-config-changes-keep-the-cluster-safe" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;У etcd кожна конфігурація під час виконання повинна проходити через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/runtime-configuration/#add-a-new-member"&gt;дві фази&lt;/a&gt; з міркувань безпеки. Наприклад, щоб додати учасника, спочатку повідомте кластер про нову конфігурацію, а потім запустіть нового учасника.&lt;/p&gt;</description></item><item><title>Дизайн реконфігурації під час виконання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/runtime-reconf-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/runtime-reconf-design/</guid><description>&lt;p&gt;Реконфігурація під час виконання є однією з найскладніших і найбільш схильних до помилок функцій у розподіленій системі, особливо в системах, заснованих на консенсусі, таких як etcd.&lt;/p&gt;
&lt;p&gt;Читайте далі, щоб дізнатися про дизайн команд конфігурації під час виконання в etcd і як ми розвʼязали ці проблеми.&lt;/p&gt;
&lt;h2 id="two-phase-config-changes-keep-the-cluster-safe"&gt;Двофазні зміни конфігурації забезпечують безпеку кластера&lt;a class="td-heading-self-link" href="#two-phase-config-changes-keep-the-cluster-safe" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;У etcd кожна конфігурація під час виконання повинна проходити через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/runtime-configuration/#add-a-new-member"&gt;дві фази&lt;/a&gt; з міркувань безпеки. Наприклад, щоб додати учасника, спочатку повідомте кластер про нову конфігурацію, а потім запустіть нового учасника.&lt;/p&gt;</description></item><item><title>Дизайн реконфігурації під час виконання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/runtime-reconf-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/runtime-reconf-design/</guid><description>&lt;p&gt;Реконфігурація під час виконання є однією з найскладніших і найбільш схильних до помилок функцій у розподіленій системі, особливо в системах, заснованих на консенсусі, таких як etcd.&lt;/p&gt;
&lt;p&gt;Читайте далі, щоб дізнатися про дизайн команд конфігурації під час виконання в etcd і як ми розвʼязали ці проблеми.&lt;/p&gt;
&lt;h2 id="two-phase-config-changes-keep-the-cluster-safe"&gt;Двофазні зміни конфігурації забезпечують безпеку кластера&lt;a class="td-heading-self-link" href="#two-phase-config-changes-keep-the-cluster-safe" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;У etcd кожна конфігурація під час виконання повинна проходити через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/runtime-configuration/#add-a-new-member"&gt;дві фази&lt;/a&gt; з міркувань безпеки. Наприклад, щоб додати учасника, спочатку повідомте кластер про нову конфігурацію, а потім запустіть нового учасника.&lt;/p&gt;</description></item><item><title>Дизайн реконфігурації під час виконання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/runtime-reconf-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/runtime-reconf-design/</guid><description>&lt;p&gt;Реконфігурація під час виконання є однією з найскладніших і найбільш схильних до помилок функцій у розподіленій системі, особливо в системах, заснованих на консенсусі, таких як etcd.&lt;/p&gt;
&lt;p&gt;Читайте далі, щоб дізнатися про дизайн команд конфігурації під час виконання в etcd і як ми розвʼязали ці проблеми.&lt;/p&gt;
&lt;h2 id="two-phase-config-changes-keep-the-cluster-safe"&gt;Двофазні зміни конфігурації забезпечують безпеку кластера&lt;a class="td-heading-self-link" href="#two-phase-config-changes-keep-the-cluster-safe" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;У etcd кожна конфігурація під час виконання повинна проходити через &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/runtime-configuration/#add-a-new-member"&gt;дві фази&lt;/a&gt; з міркувань безпеки. Наприклад, щоб додати учасника, спочатку повідомте кластер про нову конфігурацію, а потім запустіть нового учасника.&lt;/p&gt;</description></item><item><title>Переконфігурація під час виконання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/runtime-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/runtime-configuration/</guid><description>&lt;p&gt;etcd підтримує інкрементальну переконфігурацію під час виконання, що дозволяє користувачам оновлювати склад кластера під час роботи.&lt;/p&gt;
&lt;p&gt;Запити на переконфігурацію можуть оброблятися лише тоді, коли більшість членів кластера функціонують. &lt;strong&gt;Наполегливо рекомендується&lt;/strong&gt; завжди мати кластер розміром понад два учасники у промисловому середовищі. Небезпечно видаляти члена з двочленного кластера. Більшість у двочленному кластері також становить два. Якщо під час процесу видалення станеться збій, кластер не зможе продовжувати роботу і потребуватиме &lt;a href="#restart-cluster-from-majority-failure"&gt;перезапуску після втрати більшості&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Переконфігурація під час виконання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/runtime-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/runtime-configuration/</guid><description>&lt;p&gt;etcd підтримує інкрементальну переконфігурацію під час виконання, що дозволяє користувачам оновлювати склад кластера під час роботи.&lt;/p&gt;
&lt;p&gt;Запити на переконфігурацію можуть оброблятися лише тоді, коли більшість членів кластера функціонують. &lt;strong&gt;Наполегливо рекомендується&lt;/strong&gt; завжди мати кластер розміром понад два учасники у промисловому середовищі. Небезпечно видаляти члена з двочленного кластера. Більшість у двочленному кластері також становить два. Якщо під час процесу видалення станеться збій, кластер не зможе продовжувати роботу і потребуватиме &lt;a href="#restart-cluster-from-majority-failure"&gt;перезапуску після втрати більшості&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Переконфігурація під час виконання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/runtime-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/runtime-configuration/</guid><description>&lt;p&gt;etcd підтримує інкрементальну переконфігурацію під час виконання, що дозволяє користувачам оновлювати склад кластера під час роботи.&lt;/p&gt;
&lt;p&gt;Запити на переконфігурацію можуть оброблятися лише тоді, коли більшість членів кластера функціонують. &lt;strong&gt;Наполегливо рекомендується&lt;/strong&gt; завжди мати кластер розміром понад два учасники у промисловому середовищі. Небезпечно видаляти члена з двочленного кластера. Більшість у двочленному кластері також становить два. Якщо під час процесу видалення станеться збій, кластер не зможе продовжувати роботу і потребуватиме &lt;a href="#restart-cluster-from-majority-failure"&gt;перезапуску після втрати більшості&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Переконфігурація під час виконання</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/runtime-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/runtime-configuration/</guid><description>&lt;p&gt;etcd підтримує інкрементальну переконфігурацію під час виконання, що дозволяє користувачам оновлювати склад кластера під час роботи.&lt;/p&gt;
&lt;p&gt;Запити на переконфігурацію можуть оброблятися лише тоді, коли більшість членів кластера функціонують. &lt;strong&gt;Наполегливо рекомендується&lt;/strong&gt; завжди мати кластер розміром понад два учасники у промисловому середовищі. Небезпечно видаляти члена з двочленного кластера. Більшість у двочленному кластері також становить два. Якщо під час процесу видалення станеться збій, кластер не зможе продовжувати роботу і потребуватиме &lt;a href="#restart-cluster-from-majority-failure"&gt;перезапуску після втрати більшості&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Підтримувані платформи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/supported-platform/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/supported-platform/</guid><description>&lt;h2 id="support-tiers"&gt;Рівні підтримки&lt;a class="td-heading-self-link" href="#support-tiers" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd працює на різних платформах, але гарантії, які він надає, залежать від рівня підтримки платформи:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Рівень 1&lt;/strong&gt;: повністю підтримується &lt;a href="https://github.com/etcd-io/etcd/blob/main/OWNERS"&gt;супроводжувачами etcd&lt;/a&gt;; etcd гарантовано пройде всі тести, включаючи функціональні тести та тести на надійність.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Рівень 2&lt;/strong&gt;: etcd гарантовано пройде інтеграційні та наскрізні тести, але не обовʼязково функціональні або тести на надійність.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Рівень 3&lt;/strong&gt;: etcd гарантовано збирається, може бути злегка протестовано (або ні), тому збірку слід вважати &lt;em&gt;нестабільною&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="current-support"&gt;Поточна підтримка&lt;a class="td-heading-self-link" href="#current-support" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;У наступній таблиці наведено перелік платформ, що підтримуються на даний момент, та відповідний рівень підтримки etcd:&lt;/p&gt;</description></item><item><title>Підтримувані платформи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/supported-platform/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/supported-platform/</guid><description>&lt;h2 id="support-tiers"&gt;Рівні підтримки&lt;a class="td-heading-self-link" href="#support-tiers" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd працює на різних платформах, але гарантії, які він надає, залежать від рівня підтримки платформи:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Рівень 1&lt;/strong&gt;: повністю підтримується &lt;a href="https://github.com/etcd-io/etcd/blob/main/OWNERS"&gt;супроводжувачами etcd&lt;/a&gt;; etcd гарантовано пройде всі тести, включаючи функціональні тести та тести на надійність.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Рівень 2&lt;/strong&gt;: etcd гарантовано пройде інтеграційні та наскрізні тести, але не обовʼязково функціональні або тести на надійність.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Рівень 3&lt;/strong&gt;: etcd гарантовано збирається, може бути злегка протестовано (або ні), тому збірку слід вважати &lt;em&gt;нестабільною&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="current-support"&gt;Поточна підтримка&lt;a class="td-heading-self-link" href="#current-support" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;У наступній таблиці наведено перелік платформ, що підтримуються на даний момент, та відповідний рівень підтримки etcd:&lt;/p&gt;</description></item><item><title>Підтримувані платформи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/supported-platform/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/supported-platform/</guid><description>&lt;h2 id="support-tiers"&gt;Рівні підтримки&lt;a class="td-heading-self-link" href="#support-tiers" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd працює на різних платформах, але гарантії, які він надає, залежать від рівня підтримки платформи:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Рівень 1&lt;/strong&gt;: повністю підтримується &lt;a href="https://github.com/etcd-io/etcd/blob/main/OWNERS"&gt;супроводжувачами etcd&lt;/a&gt;; etcd гарантовано пройде всі тести, включаючи функціональні тести та тести на надійність.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Рівень 2&lt;/strong&gt;: etcd гарантовано пройде інтеграційні та наскрізні тести, але не обовʼязково функціональні або тести на надійність.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Рівень 3&lt;/strong&gt;: etcd гарантовано збирається, може бути злегка протестовано (або ні), тому збірку слід вважати &lt;em&gt;нестабільною&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="current-support"&gt;Поточна підтримка&lt;a class="td-heading-self-link" href="#current-support" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;У наступній таблиці наведено перелік платформ, що підтримуються на даний момент, та відповідний рівень підтримки etcd:&lt;/p&gt;</description></item><item><title>Підтримувані платформи</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/supported-platform/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/supported-platform/</guid><description>&lt;h2 id="support-tiers"&gt;Рівні підтримки&lt;a class="td-heading-self-link" href="#support-tiers" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;etcd працює на різних платформах, але гарантії, які він надає, залежать від рівня підтримки платформи:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Рівень 1&lt;/strong&gt;: повністю підтримується &lt;a href="https://github.com/etcd-io/etcd/blob/main/OWNERS"&gt;супроводжувачами etcd&lt;/a&gt;; etcd гарантовано пройде всі тести, включаючи функціональні тести та тести на надійність.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Рівень 2&lt;/strong&gt;: etcd гарантовано пройде інтеграційні та наскрізні тести, але не обовʼязково функціональні або тести на надійність.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Рівень 3&lt;/strong&gt;: etcd гарантовано збирається, може бути злегка протестовано (або ні), тому збірку слід вважати &lt;em&gt;нестабільною&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="current-support"&gt;Поточна підтримка&lt;a class="td-heading-self-link" href="#current-support" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;У наступній таблиці наведено перелік платформ, що підтримуються на даний момент, та відповідний рівень підтримки etcd:&lt;/p&gt;</description></item><item><title>Версіонування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/versioning/</guid><description>&lt;p&gt;Цей документ описує версії, які підтримуються проєктом etcd.&lt;/p&gt;
&lt;h2 id="service-versioning-and-supported-versions"&gt;Версіонування сервісу та підтримувані версії&lt;a class="td-heading-self-link" href="#service-versioning-and-supported-versions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Версії etcd виражаються як &lt;strong&gt;x.y.z&lt;/strong&gt;, де &lt;strong&gt;x&lt;/strong&gt; — це основна версія, &lt;strong&gt;y&lt;/strong&gt; — це мінорна версія, а &lt;strong&gt;z&lt;/strong&gt; — це версія патчу, відповідно до термінології &lt;a href="https://semver.org/lang/uk/"&gt;Семантичного Версіонування&lt;/a&gt;. Нові мінорні версії можуть додавати додаткові функції до API.&lt;/p&gt;
&lt;p&gt;Проєкт etcd підтримує гілки релізів для поточної версії та попереднього випуску. Наприклад, коли v3.5 є поточною версією, v3.4 підтримується. Коли випускається v3.6, підтримка v3.4 припиняється.&lt;/p&gt;</description></item><item><title>Версіонування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/versioning/</guid><description>&lt;p&gt;Цей документ описує версії, які підтримуються проєктом etcd.&lt;/p&gt;
&lt;h2 id="service-versioning-and-supported-versions"&gt;Версіонування сервісу та підтримувані версії&lt;a class="td-heading-self-link" href="#service-versioning-and-supported-versions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Версії etcd виражаються як &lt;strong&gt;x.y.z&lt;/strong&gt;, де &lt;strong&gt;x&lt;/strong&gt; — це основна версія, &lt;strong&gt;y&lt;/strong&gt; — це мінорна версія, а &lt;strong&gt;z&lt;/strong&gt; — це версія патчу, відповідно до термінології &lt;a href="https://semver.org/lang/uk/"&gt;Семантичного Версіонування&lt;/a&gt;. Нові мінорні версії можуть додавати додаткові функції до API.&lt;/p&gt;
&lt;p&gt;Проєкт etcd підтримує гілки релізів для поточної версії та попереднього випуску. Наприклад, коли v3.5 є поточною версією, v3.4 підтримується. Коли випускається v3.6, підтримка v3.4 припиняється.&lt;/p&gt;</description></item><item><title>Версіонування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/versioning/</guid><description>&lt;p&gt;Цей документ описує версії, які підтримуються проєктом etcd.&lt;/p&gt;
&lt;h2 id="service-versioning-and-supported-versions"&gt;Версіонування сервісу та підтримувані версії&lt;a class="td-heading-self-link" href="#service-versioning-and-supported-versions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Версії etcd виражаються як &lt;strong&gt;x.y.z&lt;/strong&gt;, де &lt;strong&gt;x&lt;/strong&gt; — це основна версія, &lt;strong&gt;y&lt;/strong&gt; — це мінорна версія, а &lt;strong&gt;z&lt;/strong&gt; — це версія патчу, відповідно до термінології &lt;a href="https://semver.org/lang/uk/"&gt;Семантичного Версіонування&lt;/a&gt;. Нові мінорні версії можуть додавати додаткові функції до API.&lt;/p&gt;
&lt;p&gt;Проєкт etcd підтримує гілки релізів для поточної версії та попереднього випуску. Наприклад, коли v3.5 є поточною версією, v3.4 підтримується. Коли випускається v3.6, підтримка v3.4 припиняється.&lt;/p&gt;</description></item><item><title>Версіонування</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/versioning/</guid><description>&lt;p&gt;Цей документ описує версії, які підтримуються проєктом etcd.&lt;/p&gt;
&lt;h2 id="service-versioning-and-supported-versions"&gt;Версіонування сервісу та підтримувані версії&lt;a class="td-heading-self-link" href="#service-versioning-and-supported-versions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Версії etcd виражаються як &lt;strong&gt;x.y.z&lt;/strong&gt;, де &lt;strong&gt;x&lt;/strong&gt; — це основна версія, &lt;strong&gt;y&lt;/strong&gt; — це мінорна версія, а &lt;strong&gt;z&lt;/strong&gt; — це версія патчу, відповідно до термінології &lt;a href="https://semver.org/lang/uk/"&gt;Семантичного Версіонування&lt;/a&gt;. Нові мінорні версії можуть додавати додаткові функції до API.&lt;/p&gt;
&lt;p&gt;Проєкт etcd підтримує гілки релізів для поточної версії та попереднього випуску. Наприклад, коли v3.5 є поточною версією, v3.4 підтримується. Коли випускається v3.6, підтримка v3.4 припиняється.&lt;/p&gt;</description></item><item><title>Демонстрація</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/demo/</guid><description>&lt;p&gt;Ця серія прикладів показує основні процедури роботи з кластером etcd.&lt;/p&gt;
&lt;h2 id="auth"&gt;Auth&lt;a class="td-heading-self-link" href="#auth" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;,&lt;code&gt;user&lt;/code&gt;,&lt;code&gt;role&lt;/code&gt; для автентифікації:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# тепер всі запити клієнтів проходять через автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# у дозволі відмовлено, імʼя користувача порожнє, оскільки запит не видає запит на автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 може прочитати ключ foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Демонстрація</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/demo/</guid><description>&lt;p&gt;Ця серія прикладів показує основні процедури роботи з кластером etcd.&lt;/p&gt;
&lt;h2 id="auth"&gt;Auth&lt;a class="td-heading-self-link" href="#auth" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;,&lt;code&gt;user&lt;/code&gt;,&lt;code&gt;role&lt;/code&gt; для автентифікації:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# тепер всі запити клієнтів проходять через автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# у дозволі відмовлено, імʼя користувача порожнє, оскільки запит не видає запит на автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 може прочитати ключ foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Пошкодження даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/data_corruption/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/data_corruption/</guid><description>&lt;p&gt;etcd має вбудоване автоматичне виявлення пошкодження даних, щоб запобігти розбіжності стану членів.&lt;/p&gt;
&lt;h2 id="enabling-data-corruption-detection"&gt;Включення виявлення пошкодження даних&lt;a class="td-heading-self-link" href="#enabling-data-corruption-detection" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Виявлення пошкодження даних можна зробити за допомогою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Початкової перевірки, яка включається за допомогою прапорця &lt;code&gt;--experimental-initial-corrupt-check&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Періодичної перевірки:
&lt;ul&gt;
&lt;li&gt;Хешу ущільненої ревізії, яка включається за допомогою прапорця &lt;code&gt;--experimental-compact-hash-check-enabled&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Хешу останньої ревізії, яка включається за допомогою прапорця &lt;code&gt;--experimental-corrupt-check-time&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Початкова перевірка буде виконана під час завантаження члена etcd. Член порівняє свій постійний стан з іншими членами та завершить роботу, якщо є невідповідність.&lt;/p&gt;</description></item><item><title>Пошкодження даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/data_corruption/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/data_corruption/</guid><description>&lt;p&gt;etcd має вбудоване автоматичне виявлення пошкодження даних, щоб запобігти розбіжності стану членів.&lt;/p&gt;
&lt;h2 id="enabling-data-corruption-detection"&gt;Включення виявлення пошкодження даних&lt;a class="td-heading-self-link" href="#enabling-data-corruption-detection" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Виявлення пошкодження даних можна зробити за допомогою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Початкової перевірки, яка включається за допомогою прапорця &lt;code&gt;--experimental-initial-corrupt-check&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Періодичної перевірки:
&lt;ul&gt;
&lt;li&gt;Хешу ущільненої ревізії, яка включається за допомогою прапорця &lt;code&gt;--experimental-compact-hash-check-enabled&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Хешу останньої ревізії, яка включається за допомогою прапорця &lt;code&gt;--experimental-corrupt-check-time&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Початкова перевірка буде виконана під час завантаження члена etcd. Член порівняє свій постійний стан з іншими членами та завершить роботу, якщо є невідповідність.&lt;/p&gt;</description></item><item><title>Пошкодження даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/data_corruption/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/data_corruption/</guid><description>&lt;p&gt;etcd має вбудоване автоматичне виявлення пошкодження даних, щоб запобігти розбіжності стану членів.&lt;/p&gt;
&lt;h2 id="enabling-data-corruption-detection"&gt;Включення виявлення пошкодження даних&lt;a class="td-heading-self-link" href="#enabling-data-corruption-detection" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Виявлення пошкодження даних можна зробити за допомогою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Початкової перевірки, яка включається за допомогою прапорця &lt;code&gt;--experimental-initial-corrupt-check&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Періодичної перевірки:
&lt;ul&gt;
&lt;li&gt;Хешу ущільненої ревізії, яка включається за допомогою прапорця &lt;code&gt;--experimental-compact-hash-check-enabled&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Хешу останньої ревізії, яка включається за допомогою прапорця &lt;code&gt;--experimental-corrupt-check-time&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Початкова перевірка буде виконана під час завантаження члена etcd. Член порівняє свій постійний стан з іншими членами та завершить роботу, якщо є невідповідність.&lt;/p&gt;</description></item><item><title>Пошкодження даних</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/data_corruption/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/data_corruption/</guid><description>&lt;p&gt;etcd має вбудоване автоматичне виявлення пошкодження даних, щоб запобігти розбіжності стану членів.&lt;/p&gt;
&lt;h2 id="enabling-data-corruption-detection"&gt;Включення виявлення пошкодження даних&lt;a class="td-heading-self-link" href="#enabling-data-corruption-detection" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Виявлення пошкодження даних можна зробити за допомогою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Початкової перевірки, яка включається за допомогою прапорця &lt;code&gt;--experimental-initial-corrupt-check&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Періодичної перевірки:
&lt;ul&gt;
&lt;li&gt;Хешу ущільненої ревізії, яка включається за допомогою прапорця &lt;code&gt;--experimental-compact-hash-check-enabled&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Хешу останньої ревізії, яка включається за допомогою прапорця &lt;code&gt;--experimental-corrupt-check-time&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Початкова перевірка буде виконана під час завантаження члена etcd. Член порівняє свій постійний стан з іншими членами та завершить роботу, якщо є невідповідність.&lt;/p&gt;</description></item><item><title>Тест продуктивності використання памʼяті сховища</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-storage-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-storage-memory-benchmark/</guid><description>&lt;!---todo: link storage to storage design doc--&gt;
&lt;p&gt;Два компоненти сховища etcd споживають фізичну памʼять. Процес etcd виділяє &lt;em&gt;індекс в памʼяті&lt;/em&gt; для прискорення пошуку ключів. &lt;em&gt;Кеш сторінок&lt;/em&gt; процесу, керований операційною системою, зберігає нещодавно доступні дані з диска для швидкого повторного використання.&lt;/p&gt;
&lt;p&gt;Індекс в памʼяті містить усі ключі в структурі даних &lt;a href="https://uk.wikipedia.org/wiki/%D0%91-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE"&gt;B-дерево&lt;/a&gt;, разом з вказівниками на дані на диску (значення). Кожен ключ у B-дереві може містити кілька вказівників, що вказують на різні версії його значень. Теоретичне споживання памʼяті індексом в памʼяті можна приблизно оцінити за формулою:&lt;/p&gt;</description></item><item><title>Тестування продуктивності використання памʼяті сховища</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-storage-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-storage-memory-benchmark/</guid><description>&lt;!---todo: link storage to storage design doc--&gt;
&lt;p&gt;Два компоненти сховища etcd споживають фізичну памʼять. Процес etcd виділяє &lt;em&gt;індекс в памʼяті&lt;/em&gt; для прискорення пошуку ключів. &lt;em&gt;Кеш сторінок&lt;/em&gt; процесу, керований операційною системою, зберігає нещодавно доступні дані з диска для швидкого повторного використання.&lt;/p&gt;
&lt;p&gt;Індекс в памʼяті містить усі ключі в структурі даних &lt;a href="https://uk.wikipedia.org/wiki/%D0%91-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE"&gt;B-дерево&lt;/a&gt;, разом з вказівниками на дані на диску (значення). Кожен ключ у B-дереві може містити кілька вказівників, що вказують на різні версії його значень. Теоретичне споживання памʼяті індексом в памʼяті можна приблизно оцінити за формулою:&lt;/p&gt;</description></item><item><title>Тестування продуктивності використання памʼяті сховища</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-storage-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-storage-memory-benchmark/</guid><description>&lt;!---todo: link storage to storage design doc--&gt;
&lt;p&gt;Два компоненти сховища etcd споживають фізичну памʼять. Процес etcd виділяє &lt;em&gt;індекс в памʼяті&lt;/em&gt; для прискорення пошуку ключів. &lt;em&gt;Кеш сторінок&lt;/em&gt; процесу, керований операційною системою, зберігає нещодавно доступні дані з диска для швидкого повторного використання.&lt;/p&gt;
&lt;p&gt;Індекс в памʼяті містить усі ключі в структурі даних &lt;a href="https://uk.wikipedia.org/wiki/%D0%91-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE"&gt;B-дерево&lt;/a&gt;, разом з вказівниками на дані на диску (значення). Кожен ключ у B-дереві може містити кілька вказівників, що вказують на різні версії його значень. Теоретичне споживання памʼяті індексом в памʼяті можна приблизно оцінити за формулою:&lt;/p&gt;</description></item><item><title>Тестування продуктивності використання памʼяті сховища</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-storage-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-storage-memory-benchmark/</guid><description>&lt;!---todo: link storage to storage design doc--&gt;
&lt;p&gt;Два компоненти сховища etcd споживають фізичну памʼять. Процес etcd виділяє &lt;em&gt;індекс в памʼяті&lt;/em&gt; для прискорення пошуку ключів. &lt;em&gt;Кеш сторінок&lt;/em&gt; процесу, керований операційною системою, зберігає нещодавно доступні дані з диска для швидкого повторного використання.&lt;/p&gt;
&lt;p&gt;Індекс в памʼяті містить усі ключі в структурі даних &lt;a href="https://uk.wikipedia.org/wiki/%D0%91-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE"&gt;B-tree&lt;/a&gt;, разом з вказівниками на дані на диску (значення). Кожен ключ у B-tree може містити кілька вказівників, що вказують на різні версії його значень. Теоретичне споживання памʼяті індексом в памʼяті можна приблизно оцінити за формулою:&lt;/p&gt;</description></item><item><title>Тест продуктивності використання памʼяті Watch</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-3-watch-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-3-watch-memory-benchmark/</guid><description>&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;Функції спостереження знаходяться в активній розробці, і їх використання памʼяті може змінюватися в процесі розвитку. Ми не очікуємо значного збільшення понад зазначені нижче цифри.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Основною метою etcd є підтримка дуже великої кількості спостерігачів, які виконують величезну кількість спостережень. etcd прагне підтримувати O(10k) клієнтів, O(100K) потоків спостереження (O(10) потоків на клієнта) і O(10M) загальних спостережень (O(100) спостережень на потік). Памʼять, яку споживає кожне окреме спостереження, становить найбільшу частину загального використання памʼяті etcd, і тому є обʼєктом поточних та майбутніх оптимізацій.&lt;/p&gt;</description></item><item><title>Тестування продуктивності використання памʼяті Watch</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-3-watch-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-3-watch-memory-benchmark/</guid><description>&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;Функції спостереження знаходяться в активній розробці, і їх використання памʼяті може змінюватися в процесі розвитку. Ми не очікуємо значного збільшення понад зазначені нижче цифри.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Основною метою etcd є підтримка дуже великої кількості спостерігачів, які виконують величезну кількість спостережень. etcd прагне підтримувати O(10k) клієнтів, O(100K) потоків спостереження (O(10) потоків на клієнта) і O(10M) загальних спостережень (O(100) спостережень на потік). Памʼять, яку споживає кожне окреме спостереження, становить найбільшу частину загального використання памʼяті etcd, і тому є обʼєктом поточних та майбутніх оптимізацій.&lt;/p&gt;</description></item><item><title>Тестування продуктивності використання памʼяті Watch</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-3-watch-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-3-watch-memory-benchmark/</guid><description>&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;Функції спостереження знаходяться в активній розробці, і їх використання памʼяті може змінюватися в процесі розвитку. Ми не очікуємо значного збільшення понад зазначені нижче цифри.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Основною метою etcd є підтримка дуже великої кількості спостерігачів, які виконують величезну кількість спостережень. etcd прагне підтримувати O(10k) клієнтів, O(100K) потоків спостереження (O(10) потоків на клієнта) і O(10M) загальних спостережень (O(100) спостережень на потік). Памʼять, яку споживає кожне окреме спостереження, становить найбільшу частину загального використання памʼяті etcd, і тому є обʼєктом поточних та майбутніх оптимізацій.&lt;/p&gt;</description></item><item><title>Тестування продуктивності використання памʼяті Watch</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-3-watch-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-3-watch-memory-benchmark/</guid><description>&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;Функції спостереження знаходяться в активній розробці, і їх використання памʼяті може змінюватися в процесі розвитку. Ми не очікуємо значного збільшення понад зазначені нижче цифри.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Основною метою etcd є підтримка дуже великої кількості спостерігачів, які виконують величезну кількість спостережень. etcd прагне підтримувати O(10k) клієнтів, O(100K) потоків спостереження (O(10) потоків на клієнта) і O(10M) загальних спостережень (O(100) спостережень на потік). Памʼять, яку споживає кожне окреме спостереження, становить найбільшу частину загального використання памʼяті etcd, і тому є обʼєктом поточних та майбутніх оптимізацій.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-3-demo-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-3-demo-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x CPU&lt;/li&gt;
&lt;li&gt;версія etcd 2.2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;1 учасник etcd, що працює в демо-режимі v3&lt;/p&gt;
&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;a href="https://github.com/etcd-io/etcd/tree/master/tools/benchmark"&gt;інструмент тестування продуктивності etcd v3&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="performance"&gt;Продуктивність&lt;a class="td-heading-self-link" href="#performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="reading-one-single-key"&gt;читання одного ключа&lt;a class="td-heading-self-link" href="#reading-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;QPS читання&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;2716&lt;/td&gt;
 &lt;td&gt;0.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;16623&lt;/td&gt;
 &lt;td&gt;6.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;16622&lt;/td&gt;
 &lt;td&gt;21.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Продуктивність майже така ж, як і з порожнім обробником сервера.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-3-demo-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-3-demo-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x CPU&lt;/li&gt;
&lt;li&gt;версія etcd 2.2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;1 учасник etcd, що працює в демо-режимі v3&lt;/p&gt;
&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;a href="https://github.com/etcd-io/etcd/tree/main/tools/benchmark"&gt;інструмент тестування продуктивності etcd v3&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="performance"&gt;Продуктивність&lt;a class="td-heading-self-link" href="#performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="reading-one-single-key"&gt;читання одного ключа&lt;a class="td-heading-self-link" href="#reading-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;QPS читання&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;2716&lt;/td&gt;
 &lt;td&gt;0.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;16623&lt;/td&gt;
 &lt;td&gt;6.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;16622&lt;/td&gt;
 &lt;td&gt;21.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Продуктивність майже така ж, як і з порожнім обробником сервера.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-3-demo-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-3-demo-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x CPU&lt;/li&gt;
&lt;li&gt;версія etcd 2.2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;1 учасник etcd, що працює в демо-режимі v3&lt;/p&gt;
&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;a href="https://github.com/etcd-io/etcd/tree/main/tools/benchmark"&gt;інструмент тестування продуктивності etcd v3&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="performance"&gt;Продуктивність&lt;a class="td-heading-self-link" href="#performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="reading-one-single-key"&gt;читання одного ключа&lt;a class="td-heading-self-link" href="#reading-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;QPS читання&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;2716&lt;/td&gt;
 &lt;td&gt;0.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;16623&lt;/td&gt;
 &lt;td&gt;6.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;16622&lt;/td&gt;
 &lt;td&gt;21.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Продуктивність майже така ж, як і з порожнім обробником сервера.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-3-demo-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-3-demo-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x CPU&lt;/li&gt;
&lt;li&gt;версія etcd 2.2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;1 учасник etcd, що працює в демо-режимі v3&lt;/p&gt;
&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Використовуйте &lt;a href="https://github.com/etcd-io/etcd/tree/main/tools/benchmark"&gt;інструмент тестування продуктивності etcd v3&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="performance"&gt;Продуктивність&lt;a class="td-heading-self-link" href="#performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="reading-one-single-key"&gt;читання одного ключа&lt;a class="td-heading-self-link" href="#reading-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;QPS читання&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;2716&lt;/td&gt;
 &lt;td&gt;0.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;16623&lt;/td&gt;
 &lt;td&gt;6.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;16622&lt;/td&gt;
 &lt;td&gt;21.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Продуктивність майже така ж, як і з порожнім обробником сервера.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v2.2.0-rc-memory</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Фізична машина&lt;a class="td-heading-self-link" href="#physical-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-standard-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;7.5 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦП&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd"&gt;etcd&lt;a class="td-heading-self-link" href="#etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0-rc.0+git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: 103cb5c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запуск кластера etcd з 3 учасниками, кожен з яких використовує 2 ядра.&lt;/p&gt;
&lt;p&gt;Довжина імені ключа завжди 64 байти, що є розумною довжиною середнього ключа.&lt;/p&gt;
&lt;h2 id="memory-maximal-usage"&gt;Максимальне використання памʼяті&lt;a class="td-heading-self-link" href="#memory-maximal-usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;etcd може використовувати максимальну памʼять, якщо один з підписувачів мертвий і лідер продовжує надсилати знімки.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max RSS&lt;/code&gt; - це максимальне використання памʼяті, зафіксоване в 3 запусках.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: right"&gt;байти значення&lt;/th&gt;
 &lt;th style="text-align: right"&gt;кількість ключів&lt;/th&gt;
 &lt;th style="text-align: right"&gt;розмір даних (МБ)&lt;/th&gt;
 &lt;th style="text-align: right"&gt;max RSS (МБ)&lt;/th&gt;
 &lt;th style="text-align: center"&gt;max RSS/співвідношення даних на лідері&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;50000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;433&lt;/td&gt;
 &lt;td style="text-align: center"&gt;72x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;100000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;12&lt;/td&gt;
 &lt;td style="text-align: right"&gt;659&lt;/td&gt;
 &lt;td style="text-align: center"&gt;54x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;200000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;24&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1466&lt;/td&gt;
 &lt;td style="text-align: center"&gt;61x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;50000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;48&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1253&lt;/td&gt;
 &lt;td style="text-align: center"&gt;26x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;100000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;96&lt;/td&gt;
 &lt;td style="text-align: right"&gt;2344&lt;/td&gt;
 &lt;td style="text-align: center"&gt;24x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;200000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;192&lt;/td&gt;
 &lt;td style="text-align: right"&gt;4361&lt;/td&gt;
 &lt;td style="text-align: center"&gt;22x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="data-size-threshold"&gt;Поріг розміру даних&lt;a class="td-heading-self-link" href="#data-size-threshold" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Коли etcd досягає порогу розміру даних, це може легко викликати вибори лідера і відкинути частину пропозицій.&lt;/li&gt;
&lt;li&gt;У більшості випадків кластер etcd повинен працювати безперебійно, якщо він не досягає порогу. Якщо він не працює добре через недостатні ресурси, зменшіть розмір його даних.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;байти значення&lt;/th&gt;
 &lt;th&gt;обмеження кількості ключів&lt;/th&gt;
 &lt;th&gt;рекомендований поріг розміру даних (МБ)&lt;/th&gt;
 &lt;th&gt;споживаний RSS (МБ)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;128&lt;/td&gt;
 &lt;td&gt;400K&lt;/td&gt;
 &lt;td&gt;48&lt;/td&gt;
 &lt;td&gt;2400&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1024&lt;/td&gt;
 &lt;td&gt;300K&lt;/td&gt;
 &lt;td&gt;292&lt;/td&gt;
 &lt;td&gt;6500&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Тестування продуктивності використання памʼяті etcd v2.2.0-rc-memory</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Фізична машина&lt;a class="td-heading-self-link" href="#physical-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-standard-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;7.5 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦП&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd"&gt;etcd&lt;a class="td-heading-self-link" href="#etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0-rc.0+git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: 103cb5c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запуск кластера etcd з 3 учасниками, кожен з яких використовує 2 ядра.&lt;/p&gt;
&lt;p&gt;Довжина імені ключа завжди 64 байти, що є розумною довжиною середнього ключа.&lt;/p&gt;
&lt;h2 id="memory-maximal-usage"&gt;Максимальне використання памʼяті&lt;a class="td-heading-self-link" href="#memory-maximal-usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;etcd може використовувати максимальну памʼять, якщо один з підписувачів мертвий і лідер продовжує надсилати знімки.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max RSS&lt;/code&gt; - це максимальне використання памʼяті, зафіксоване в 3 запусках.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: right"&gt;байти значення&lt;/th&gt;
 &lt;th style="text-align: right"&gt;кількість ключів&lt;/th&gt;
 &lt;th style="text-align: right"&gt;розмір даних (МБ)&lt;/th&gt;
 &lt;th style="text-align: right"&gt;max RSS (МБ)&lt;/th&gt;
 &lt;th style="text-align: center"&gt;max RSS/співвідношення даних на лідері&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;50000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;433&lt;/td&gt;
 &lt;td style="text-align: center"&gt;72x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;100000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;12&lt;/td&gt;
 &lt;td style="text-align: right"&gt;659&lt;/td&gt;
 &lt;td style="text-align: center"&gt;54x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;200000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;24&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1466&lt;/td&gt;
 &lt;td style="text-align: center"&gt;61x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;50000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;48&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1253&lt;/td&gt;
 &lt;td style="text-align: center"&gt;26x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;100000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;96&lt;/td&gt;
 &lt;td style="text-align: right"&gt;2344&lt;/td&gt;
 &lt;td style="text-align: center"&gt;24x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;200000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;192&lt;/td&gt;
 &lt;td style="text-align: right"&gt;4361&lt;/td&gt;
 &lt;td style="text-align: center"&gt;22x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="data-size-threshold"&gt;Поріг розміру даних&lt;a class="td-heading-self-link" href="#data-size-threshold" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Коли etcd досягає порогу розміру даних, це може легко викликати вибори лідера і відкинути частину пропозицій.&lt;/li&gt;
&lt;li&gt;У більшості випадків кластер etcd повинен працювати безперебійно, якщо він не досягає порогу. Якщо він не працює добре через недостатні ресурси, зменшіть розмір його даних.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;байти значення&lt;/th&gt;
 &lt;th&gt;обмеження кількості ключів&lt;/th&gt;
 &lt;th&gt;рекомендований поріг розміру даних (МБ)&lt;/th&gt;
 &lt;th&gt;споживаний RSS (МБ)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;128&lt;/td&gt;
 &lt;td&gt;400K&lt;/td&gt;
 &lt;td&gt;48&lt;/td&gt;
 &lt;td&gt;2400&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1024&lt;/td&gt;
 &lt;td&gt;300K&lt;/td&gt;
 &lt;td&gt;292&lt;/td&gt;
 &lt;td&gt;6500&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Тестування продуктивності використання памʼяті etcd v2.2.0-rc-memory</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Фізична машина&lt;a class="td-heading-self-link" href="#physical-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-standard-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;7.5 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦП&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd"&gt;etcd&lt;a class="td-heading-self-link" href="#etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0-rc.0+git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: 103cb5c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запуск кластера etcd з 3 учасниками, кожен з яких використовує 2 ядра.&lt;/p&gt;
&lt;p&gt;Довжина імені ключа завжди 64 байти, що є розумною довжиною середнього ключа.&lt;/p&gt;
&lt;h2 id="memory-maximal-usage"&gt;Максимальне використання памʼяті&lt;a class="td-heading-self-link" href="#memory-maximal-usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;etcd може використовувати максимальну памʼять, якщо один з підписувачів мертвий і лідер продовжує надсилати знімки.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max RSS&lt;/code&gt; - це максимальне використання памʼяті, зафіксоване в 3 запусках.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: right"&gt;байти значення&lt;/th&gt;
 &lt;th style="text-align: right"&gt;кількість ключів&lt;/th&gt;
 &lt;th style="text-align: right"&gt;розмір даних (МБ)&lt;/th&gt;
 &lt;th style="text-align: right"&gt;max RSS (МБ)&lt;/th&gt;
 &lt;th style="text-align: center"&gt;max RSS/співвідношення даних на лідері&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;50000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;433&lt;/td&gt;
 &lt;td style="text-align: center"&gt;72x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;100000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;12&lt;/td&gt;
 &lt;td style="text-align: right"&gt;659&lt;/td&gt;
 &lt;td style="text-align: center"&gt;54x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;200000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;24&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1466&lt;/td&gt;
 &lt;td style="text-align: center"&gt;61x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;50000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;48&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1253&lt;/td&gt;
 &lt;td style="text-align: center"&gt;26x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;100000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;96&lt;/td&gt;
 &lt;td style="text-align: right"&gt;2344&lt;/td&gt;
 &lt;td style="text-align: center"&gt;24x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;200000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;192&lt;/td&gt;
 &lt;td style="text-align: right"&gt;4361&lt;/td&gt;
 &lt;td style="text-align: center"&gt;22x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="data-size-threshold"&gt;Поріг розміру даних&lt;a class="td-heading-self-link" href="#data-size-threshold" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Коли etcd досягає порогу розміру даних, це може легко викликати вибори лідера і відкинути частину пропозицій.&lt;/li&gt;
&lt;li&gt;У більшості випадків кластер etcd повинен працювати безперебійно, якщо він не досягає порогу. Якщо він не працює добре через недостатні ресурси, зменшіть розмір його даних.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;байти значення&lt;/th&gt;
 &lt;th&gt;обмеження кількості ключів&lt;/th&gt;
 &lt;th&gt;рекомендований поріг розміру даних (МБ)&lt;/th&gt;
 &lt;th&gt;споживаний RSS (МБ)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;128&lt;/td&gt;
 &lt;td&gt;400K&lt;/td&gt;
 &lt;td&gt;48&lt;/td&gt;
 &lt;td&gt;2400&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1024&lt;/td&gt;
 &lt;td&gt;300K&lt;/td&gt;
 &lt;td&gt;292&lt;/td&gt;
 &lt;td&gt;6500&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Тестування продуктивності використання памʼяті etcd v2.2.0-rc-memory</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Фізична машина&lt;a class="td-heading-self-link" href="#physical-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-standard-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;7.5 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦП&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd"&gt;etcd&lt;a class="td-heading-self-link" href="#etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0-rc.0+git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: 103cb5c
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запуск кластера etcd з 3 учасниками, кожен з яких використовує 2 ядра.&lt;/p&gt;
&lt;p&gt;Довжина імені ключа завжди 64 байти, що є розумною довжиною середнього ключа.&lt;/p&gt;
&lt;h2 id="memory-maximal-usage"&gt;Максимальне використання памʼяті&lt;a class="td-heading-self-link" href="#memory-maximal-usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;etcd може використовувати максимальну памʼять, якщо один з підписувачів мертвий і лідер продовжує надсилати знімки.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max RSS&lt;/code&gt; - це максимальне використання памʼяті, зафіксоване в 3 запусках.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: right"&gt;байти значення&lt;/th&gt;
 &lt;th style="text-align: right"&gt;кількість ключів&lt;/th&gt;
 &lt;th style="text-align: right"&gt;розмір даних (МБ)&lt;/th&gt;
 &lt;th style="text-align: right"&gt;max RSS (МБ)&lt;/th&gt;
 &lt;th style="text-align: center"&gt;max RSS/співвідношення даних на лідері&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;50000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;6&lt;/td&gt;
 &lt;td style="text-align: right"&gt;433&lt;/td&gt;
 &lt;td style="text-align: center"&gt;72x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;100000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;12&lt;/td&gt;
 &lt;td style="text-align: right"&gt;659&lt;/td&gt;
 &lt;td style="text-align: center"&gt;54x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;128&lt;/td&gt;
 &lt;td style="text-align: right"&gt;200000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;24&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1466&lt;/td&gt;
 &lt;td style="text-align: center"&gt;61x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;50000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;48&lt;/td&gt;
 &lt;td style="text-align: right"&gt;1253&lt;/td&gt;
 &lt;td style="text-align: center"&gt;26x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;100000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;96&lt;/td&gt;
 &lt;td style="text-align: right"&gt;2344&lt;/td&gt;
 &lt;td style="text-align: center"&gt;24x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: right"&gt;1024&lt;/td&gt;
 &lt;td style="text-align: right"&gt;200000&lt;/td&gt;
 &lt;td style="text-align: right"&gt;192&lt;/td&gt;
 &lt;td style="text-align: right"&gt;4361&lt;/td&gt;
 &lt;td style="text-align: center"&gt;22x&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="data-size-threshold"&gt;Поріг розміру даних&lt;a class="td-heading-self-link" href="#data-size-threshold" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Коли etcd досягає порогу розміру даних, це може легко викликати вибори лідера і відкинути частину пропозицій.&lt;/li&gt;
&lt;li&gt;У більшості випадків кластер etcd повинен працювати безперебійно, якщо він не досягає порогу. Якщо він не працює добре через недостатні ресурси, зменшіть розмір його даних.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;байти значення&lt;/th&gt;
 &lt;th&gt;обмеження кількості ключів&lt;/th&gt;
 &lt;th&gt;рекомендований поріг розміру даних (МБ)&lt;/th&gt;
 &lt;th&gt;споживаний RSS (МБ)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;128&lt;/td&gt;
 &lt;td&gt;400K&lt;/td&gt;
 &lt;td&gt;48&lt;/td&gt;
 &lt;td&gt;2400&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1024&lt;/td&gt;
 &lt;td&gt;300K&lt;/td&gt;
 &lt;td&gt;292&lt;/td&gt;
 &lt;td&gt;6500&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Тестування продуктивності etcd v2.2.0-rc</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-2-2-0-rc-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-2-2-0-rc-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Фізична машина&lt;a class="td-heading-self-link" href="#physical-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x CPU&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd 2.2.0-rc, кожен працює на окремій машині.&lt;/p&gt;
&lt;p&gt;Детальні версії:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0-alpha.1+git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: 59a5a7e
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.4.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Також ми використовуємо 3 учасників etcd 2.1.0 alpha-stage для формування кластера для отримання базової продуктивності. Коміт head etcd знаходиться на &lt;a href="https://github.com/etcd-io/etcd/commits/c7146bd5f2c73716091262edc638401bb8229144"&gt;c7146bd5&lt;/a&gt;, що є тим самим, який ми використовували в &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-2-1-0-alpha-benchmarks/"&gt;тестуванні продуктивності etcd 2.1&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v2.2.0-rc</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-2-2-0-rc-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-2-2-0-rc-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Фізична машина&lt;a class="td-heading-self-link" href="#physical-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x CPU&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd 2.2.0-rc, кожен працює на окремій машині.&lt;/p&gt;
&lt;p&gt;Детальні версії:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0-alpha.1+git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: 59a5a7e
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.4.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Також ми використовуємо 3 учасників etcd 2.1.0 alpha-stage для формування кластера для отримання базової продуктивності. Коміт head etcd знаходиться на &lt;a href="https://github.com/etcd-io/etcd/commits/c7146bd5f2c73716091262edc638401bb8229144"&gt;c7146bd5&lt;/a&gt;, що є тим самим, який ми використовували в &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-2-1-0-alpha-benchmarks/"&gt;тестуванні продуктивності etcd 2.1&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v2.2.0-rc</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-2-2-0-rc-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-2-2-0-rc-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Фізична машина&lt;a class="td-heading-self-link" href="#physical-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x CPU&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd 2.2.0-rc, кожен працює на окремій машині.&lt;/p&gt;
&lt;p&gt;Детальні версії:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0-alpha.1+git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: 59a5a7e
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.4.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Також ми використовуємо 3 учасників etcd 2.1.0 alpha-stage для формування кластера для отримання базової продуктивності. Коміт head etcd знаходиться на &lt;a href="https://github.com/etcd-io/etcd/commits/c7146bd5f2c73716091262edc638401bb8229144"&gt;c7146bd5&lt;/a&gt;, що є тим самим, який ми використовували в &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-2-1-0-alpha-benchmarks/"&gt;тестуванні продуктивності etcd 2.1&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v2.2.0-rc</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-2-2-0-rc-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-2-2-0-rc-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Фізична машина&lt;a class="td-heading-self-link" href="#physical-machine" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x CPU&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd 2.2.0-rc, кожен працює на окремій машині.&lt;/p&gt;
&lt;p&gt;Детальні версії:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0-alpha.1+git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: 59a5a7e
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.4.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Також ми використовуємо 3 учасників etcd 2.1.0 alpha-stage для формування кластера для отримання базової продуктивності. Коміт head etcd знаходиться на &lt;a href="https://github.com/etcd-io/etcd/commits/c7146bd5f2c73716091262edc638401bb8229144"&gt;c7146bd5&lt;/a&gt;, що є тим самим, який ми використовували в &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-2-1-0-alpha-benchmarks/"&gt;тестуванні продуктивності etcd 2.1&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v2.2.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-2-2-0-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-2-2-0-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований як каталог даних etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦП&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd 2.2.0, кожен працює на окремій машині.&lt;/p&gt;
&lt;p&gt;Детальні версії:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: e4561dd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запустіть іншу машину, поза кластером etcd, і запустіть інструмент тестування &lt;a href="https://github.com/rakyll/hey"&gt;&lt;code&gt;hey&lt;/code&gt; HTTP benchmark tool&lt;/a&gt; з патчем для повторного використання зʼєднань, щоб надсилати запити до кожного учасника кластера etcd. Дивіться &lt;a href="https://github.com/etcd-io/etcd/tree/v2.3.8/hack/benchmark"&gt;інструкції з тестування&lt;/a&gt; для патча та кроків для відтворення наших процедур.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v2.2.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-2-2-0-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-2-2-0-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований як каталог даних etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦП&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd 2.2.0, кожен працює на окремій машині.&lt;/p&gt;
&lt;p&gt;Детальні версії:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: e4561dd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запустіть іншу машину, поза кластером etcd, і запустіть інструмент тестування &lt;a href="https://github.com/rakyll/hey"&gt;&lt;code&gt;hey&lt;/code&gt; HTTP benchmark tool&lt;/a&gt; з патчем для повторного використання зʼєднань, щоб надсилати запити до кожного учасника кластера etcd. Дивіться &lt;a href="https://github.com/etcd-io/etcd/tree/v2.3.8/hack/benchmark"&gt;інструкції з тестування&lt;/a&gt; для патча та кроків для відтворення наших процедур.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v2.2.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-2-2-0-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-2-2-0-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований як каталог даних etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦП&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd 2.2.0, кожен працює на окремій машині.&lt;/p&gt;
&lt;p&gt;Детальні версії:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: e4561dd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запустіть іншу машину, поза кластером etcd, і запустіть інструмент тестування &lt;a href="https://github.com/rakyll/hey"&gt;&lt;code&gt;hey&lt;/code&gt; HTTP benchmark tool&lt;/a&gt; з патчем для повторного використання зʼєднань, щоб надсилати запити до кожного учасника кластера etcd. Дивіться &lt;a href="https://github.com/etcd-io/etcd/tree/v2.3.8/hack/benchmark"&gt;інструкції з тестування&lt;/a&gt; для патча та кроків для відтворення наших процедур.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v2.2.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-2-2-0-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-2-2-0-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований як каталог даних etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦП&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd 2.2.0, кожен працює на окремій машині.&lt;/p&gt;
&lt;p&gt;Детальні версії:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcd Version: 2.2.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Git SHA: e4561dd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go Version: go1.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Go OS/Arch: linux/amd64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запустіть іншу машину, поза кластером etcd, і запустіть інструмент тестування &lt;a href="https://github.com/rakyll/hey"&gt;&lt;code&gt;hey&lt;/code&gt; HTTP benchmark tool&lt;/a&gt; з патчем для повторного використання зʼєднань, щоб надсилати запити до кожного учасника кластера etcd. Дивіться &lt;a href="https://github.com/etcd-io/etcd/tree/v2.3.8/hack/benchmark"&gt;інструкції з тестування&lt;/a&gt; для патча та кроків для відтворення наших процедур.&lt;/p&gt;</description></item><item><title>Тестування продуктивності etcd v2.1.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-2-1-0-alpha-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/benchmarks/etcd-2-1-0-alpha-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦПУ&lt;/li&gt;
&lt;li&gt;версія etcd 2.1.0 alpha&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd, кожен працює на окремій машині&lt;/p&gt;
&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запустіть іншу машину та використовуйте &lt;a href="https://github.com/rakyll/hey"&gt;hey HTTP benchmark tool&lt;/a&gt;, щоб надсилати запити до кожного учасника etcd. Перевірте &lt;a href="https://github.com/etcd-io/etcd/tree/master/hack/benchmark"&gt;benchmark hacking guide&lt;/a&gt; для детальних інструкцій.&lt;/p&gt;
&lt;h2 id="performance"&gt;Продуктивність&lt;a class="td-heading-self-link" href="#performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="reading-one-single-key"&gt;читання одного ключа&lt;a class="td-heading-self-link" href="#reading-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;цільовий сервер etcd&lt;/th&gt;
 &lt;th&gt;QPS читання&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1534&lt;/td&gt;
 &lt;td&gt;0.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;10125&lt;/td&gt;
 &lt;td&gt;9.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;13892&lt;/td&gt;
 &lt;td&gt;27.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1530&lt;/td&gt;
 &lt;td&gt;0.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;10106&lt;/td&gt;
 &lt;td&gt;10.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;14667&lt;/td&gt;
 &lt;td&gt;27.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;24200&lt;/td&gt;
 &lt;td&gt;3.9&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;33300&lt;/td&gt;
 &lt;td&gt;11.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;24800&lt;/td&gt;
 &lt;td&gt;3.9&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;33000&lt;/td&gt;
 &lt;td&gt;11.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="writing-one-single-key"&gt;запис одного ключа&lt;a class="td-heading-self-link" href="#writing-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;цільовий сервер etcd&lt;/th&gt;
 &lt;th&gt;QPS запису&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;60&lt;/td&gt;
 &lt;td&gt;21.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1742&lt;/td&gt;
 &lt;td&gt;46.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;3982&lt;/td&gt;
 &lt;td&gt;90.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;58&lt;/td&gt;
 &lt;td&gt;20.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1770&lt;/td&gt;
 &lt;td&gt;47.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;4157&lt;/td&gt;
 &lt;td&gt;105.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;1028&lt;/td&gt;
 &lt;td&gt;123.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;3260&lt;/td&gt;
 &lt;td&gt;123.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;1033&lt;/td&gt;
 &lt;td&gt;121.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;3061&lt;/td&gt;
 &lt;td&gt;119.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Тестування продуктивності etcd v2.1.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-2-1-0-alpha-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/benchmarks/etcd-2-1-0-alpha-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦПУ&lt;/li&gt;
&lt;li&gt;версія etcd 2.1.0 alpha&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd, кожен працює на окремій машині&lt;/p&gt;
&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запустіть іншу машину та використовуйте &lt;a href="https://github.com/rakyll/hey"&gt;hey HTTP benchmark tool&lt;/a&gt;, щоб надсилати запити до кожного учасника etcd. Перевірте &lt;a href="https://github.com/etcd-io/etcd/tree/main/hack/benchmark"&gt;benchmark hacking guide&lt;/a&gt; для детальних інструкцій.&lt;/p&gt;
&lt;h2 id="performance"&gt;Продуктивність&lt;a class="td-heading-self-link" href="#performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="reading-one-single-key"&gt;читання одного ключа&lt;a class="td-heading-self-link" href="#reading-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;цільовий сервер etcd&lt;/th&gt;
 &lt;th&gt;QPS читання&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1534&lt;/td&gt;
 &lt;td&gt;0.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;10125&lt;/td&gt;
 &lt;td&gt;9.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;13892&lt;/td&gt;
 &lt;td&gt;27.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1530&lt;/td&gt;
 &lt;td&gt;0.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;10106&lt;/td&gt;
 &lt;td&gt;10.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;14667&lt;/td&gt;
 &lt;td&gt;27.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;24200&lt;/td&gt;
 &lt;td&gt;3.9&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;33300&lt;/td&gt;
 &lt;td&gt;11.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;24800&lt;/td&gt;
 &lt;td&gt;3.9&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;33000&lt;/td&gt;
 &lt;td&gt;11.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="writing-one-single-key"&gt;запис одного ключа&lt;a class="td-heading-self-link" href="#writing-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;цільовий сервер etcd&lt;/th&gt;
 &lt;th&gt;QPS запису&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;60&lt;/td&gt;
 &lt;td&gt;21.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1742&lt;/td&gt;
 &lt;td&gt;46.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;3982&lt;/td&gt;
 &lt;td&gt;90.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;58&lt;/td&gt;
 &lt;td&gt;20.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1770&lt;/td&gt;
 &lt;td&gt;47.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;4157&lt;/td&gt;
 &lt;td&gt;105.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;1028&lt;/td&gt;
 &lt;td&gt;123.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;3260&lt;/td&gt;
 &lt;td&gt;123.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;1033&lt;/td&gt;
 &lt;td&gt;121.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;3061&lt;/td&gt;
 &lt;td&gt;119.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Тестування продуктивності etcd v2.1.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-2-1-0-alpha-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/benchmarks/etcd-2-1-0-alpha-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦПУ&lt;/li&gt;
&lt;li&gt;версія etcd 2.1.0 alpha&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd, кожен працює на окремій машині&lt;/p&gt;
&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запустіть іншу машину та використовуйте &lt;a href="https://github.com/rakyll/hey"&gt;hey HTTP benchmark tool&lt;/a&gt;, щоб надсилати запити до кожного учасника etcd. Перевірте &lt;a href="https://github.com/etcd-io/etcd/tree/main/hack/benchmark"&gt;benchmark hacking guide&lt;/a&gt; для детальних інструкцій.&lt;/p&gt;
&lt;h2 id="performance"&gt;Продуктивність&lt;a class="td-heading-self-link" href="#performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="reading-one-single-key"&gt;читання одного ключа&lt;a class="td-heading-self-link" href="#reading-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;цільовий сервер etcd&lt;/th&gt;
 &lt;th&gt;QPS читання&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1534&lt;/td&gt;
 &lt;td&gt;0.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;10125&lt;/td&gt;
 &lt;td&gt;9.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;13892&lt;/td&gt;
 &lt;td&gt;27.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1530&lt;/td&gt;
 &lt;td&gt;0.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;10106&lt;/td&gt;
 &lt;td&gt;10.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;14667&lt;/td&gt;
 &lt;td&gt;27.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;24200&lt;/td&gt;
 &lt;td&gt;3.9&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;33300&lt;/td&gt;
 &lt;td&gt;11.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;24800&lt;/td&gt;
 &lt;td&gt;3.9&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;33000&lt;/td&gt;
 &lt;td&gt;11.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="writing-one-single-key"&gt;запис одного ключа&lt;a class="td-heading-self-link" href="#writing-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;цільовий сервер etcd&lt;/th&gt;
 &lt;th&gt;QPS запису&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;60&lt;/td&gt;
 &lt;td&gt;21.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1742&lt;/td&gt;
 &lt;td&gt;46.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;3982&lt;/td&gt;
 &lt;td&gt;90.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;58&lt;/td&gt;
 &lt;td&gt;20.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1770&lt;/td&gt;
 &lt;td&gt;47.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;4157&lt;/td&gt;
 &lt;td&gt;105.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;1028&lt;/td&gt;
 &lt;td&gt;123.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;3260&lt;/td&gt;
 &lt;td&gt;123.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;1033&lt;/td&gt;
 &lt;td&gt;121.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;3061&lt;/td&gt;
 &lt;td&gt;119.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Тестування продуктивності etcd v2.1.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-2-1-0-alpha-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/benchmarks/etcd-2-1-0-alpha-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Фізичні машини&lt;a class="td-heading-self-link" href="#physical-machines" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Тип машини GCE n1-highcpu-2&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x виділений локальний SSD, змонтований у /var/lib/etcd&lt;/li&gt;
&lt;li&gt;1x виділений повільний диск для ОС&lt;/li&gt;
&lt;li&gt;1.8 ГБ памʼяті&lt;/li&gt;
&lt;li&gt;2x ЦПУ&lt;/li&gt;
&lt;li&gt;версія etcd 2.1.0 alpha&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="etcd-cluster"&gt;Кластер etcd&lt;a class="td-heading-self-link" href="#etcd-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;3 учасники etcd, кожен працює на окремій машині&lt;/p&gt;
&lt;h2 id="testing"&gt;Тестування&lt;a class="td-heading-self-link" href="#testing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Запустіть іншу машину та використовуйте &lt;a href="https://github.com/rakyll/hey"&gt;hey HTTP benchmark tool&lt;/a&gt;, щоб надсилати запити до кожного учасника etcd. Перевірте &lt;a href="https://github.com/etcd-io/etcd/tree/main/hack/benchmark"&gt;benchmark hacking guide&lt;/a&gt; для детальних інструкцій.&lt;/p&gt;
&lt;h2 id="performance"&gt;Продуктивність&lt;a class="td-heading-self-link" href="#performance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="reading-one-single-key"&gt;читання одного ключа&lt;a class="td-heading-self-link" href="#reading-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;цільовий сервер etcd&lt;/th&gt;
 &lt;th&gt;QPS читання&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1534&lt;/td&gt;
 &lt;td&gt;0.7&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;10125&lt;/td&gt;
 &lt;td&gt;9.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;13892&lt;/td&gt;
 &lt;td&gt;27.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1530&lt;/td&gt;
 &lt;td&gt;0.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;10106&lt;/td&gt;
 &lt;td&gt;10.1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;14667&lt;/td&gt;
 &lt;td&gt;27.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;24200&lt;/td&gt;
 &lt;td&gt;3.9&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;33300&lt;/td&gt;
 &lt;td&gt;11.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;24800&lt;/td&gt;
 &lt;td&gt;3.9&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;33000&lt;/td&gt;
 &lt;td&gt;11.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="writing-one-single-key"&gt;запис одного ключа&lt;a class="td-heading-self-link" href="#writing-one-single-key" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;розмір ключа в байтах&lt;/th&gt;
 &lt;th&gt;кількість клієнтів&lt;/th&gt;
 &lt;th&gt;цільовий сервер etcd&lt;/th&gt;
 &lt;th&gt;QPS запису&lt;/th&gt;
 &lt;th&gt;90-й процентиль затримки (мс)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;60&lt;/td&gt;
 &lt;td&gt;21.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1742&lt;/td&gt;
 &lt;td&gt;46.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;3982&lt;/td&gt;
 &lt;td&gt;90.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;58&lt;/td&gt;
 &lt;td&gt;20.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;1770&lt;/td&gt;
 &lt;td&gt;47.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;тільки лідер&lt;/td&gt;
 &lt;td&gt;4157&lt;/td&gt;
 &lt;td&gt;105.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;1028&lt;/td&gt;
 &lt;td&gt;123.4&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;3260&lt;/td&gt;
 &lt;td&gt;123.8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;64&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;1033&lt;/td&gt;
 &lt;td&gt;121.5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;256&lt;/td&gt;
 &lt;td&gt;всі сервери&lt;/td&gt;
 &lt;td&gt;3061&lt;/td&gt;
 &lt;td&gt;119.3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Оновлення кластерів та застосунків etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrading-etcd/</guid><description>&lt;p&gt;Цей розділ містить документи, присвячені оновленню кластерів та застосунків etcd.&lt;/p&gt;
&lt;h2 id="upgrade-policy"&gt;Політика оновлення&lt;a class="td-heading-self-link" href="#upgrade-policy" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Перед оновленням зверніть увагу, що etcd підтримує лише два випадки оновлення:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Оновлення патчем:&lt;/strong&gt; Оновлення між патч-релізами в межах однієї мінорної версії (наприклад, 3.5.23 - 3.5.26).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Мінорне оновлення:&lt;/strong&gt; Оновлення по одній мінорній версії за раз (наприклад, 3.4 - 3.5). Оновлення, що пропускають мінорну версію, не підтримуються і, ймовірно, не вдасться. Оновіться до найновішої версії патча перед оновленням до наступної мінорної версії.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="upgrading-an-etcd-v3x-cluster"&gt;Оновлення кластера etcd v3.x&lt;a class="td-heading-self-link" href="#upgrading-an-etcd-v3x-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_1/"&gt;Оновлення etcd з 3.0 до 3.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_2/"&gt;Оновлення etcd з 3.1 до 3.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_3/"&gt;Оновлення etcd з 3.2 до 3.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_4/"&gt;Оновлення etcd з 3.3 до 3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_5/"&gt;Оновлення etcd з 3.4 до 3.5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="upgrading-from-etcd-v23"&gt;Оновлення з etcd v2.3&lt;a class="td-heading-self-link" href="#upgrading-from-etcd-v23" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_0/"&gt;Оновлення кластера з v2.3 до v3.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Оновлення кластерів та застосунків etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrading-etcd/</guid><description>&lt;p&gt;Цей розділ містить документи, присвячені оновленню кластерів та застосунків etcd.&lt;/p&gt;
&lt;h2 id="upgrade-policy"&gt;Політика оновлення&lt;a class="td-heading-self-link" href="#upgrade-policy" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Перед оновленням зверніть увагу, що etcd підтримує лише два випадки оновлення:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Оновлення патча:&lt;/strong&gt; Оновлення між патч-релізами в межах однієї мінорної версії (наприклад, 3.6.0 - 3.6.2).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Мінорне оновлення:&lt;/strong&gt; Оновлення по одній мінорній версії за раз (наприклад, 3.5 - 3.6). Оновлення, що пропускають мінорну версію, не підтримуються і, ймовірно, не вдасться. Оновіться до найновішої версії патча перед оновленням до наступної мінорної версії.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="upgrading-an-etcd-v3x-cluster"&gt;Оновлення кластера etcd v3.x&lt;a class="td-heading-self-link" href="#upgrading-an-etcd-v3x-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_1/"&gt;Оновлення etcd з 3.0 до 3.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_2/"&gt;Оновлення etcd з 3.1 до 3.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_3/"&gt;Оновлення etcd з 3.2 до 3.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_4/"&gt;Оновлення etcd з 3.3 до 3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_5/"&gt;Оновлення etcd з 3.4 до 3.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_6/"&gt;Оновлення etcd з 3.5 до 3.6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="upgrading-from-etcd-v23"&gt;Оновлення з etcd v2.3&lt;a class="td-heading-self-link" href="#upgrading-from-etcd-v23" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_0/"&gt;Оновлення кластера з v2.3 до v3.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Оновлення кластерів та застосунків etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrading-etcd/</guid><description>&lt;p&gt;Цей розділ містить документи, присвячені оновленню кластерів та застосунків etcd.&lt;/p&gt;
&lt;h2 id="upgrade-policy"&gt;Політика оновлення&lt;a class="td-heading-self-link" href="#upgrade-policy" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Перед оновленням зверніть увагу, що etcd підтримує лише два випадки оновлення:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Оновлення патча:&lt;/strong&gt; Оновлення між патч-релізами в межах однієї мінорної версії (наприклад, 3.7.0 - 3.7.1).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Мінорне оновлення:&lt;/strong&gt; Оновлення по одній мінорній версії за раз (наприклад, 3.6 - 3.7). Оновлення, що пропускають мінорну версію, не підтримуються і, ймовірно, не вдасться. Оновіться до найновішої версії патча перед оновленням до наступної мінорної версії.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="upgrading-an-etcd-v3x-cluster"&gt;Оновлення кластера etcd v3.x&lt;a class="td-heading-self-link" href="#upgrading-an-etcd-v3x-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_1/"&gt;Оновлення etcd з 3.0 до 3.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_2/"&gt;Оновлення etcd з 3.1 до 3.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_3/"&gt;Оновлення etcd з 3.2 до 3.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_4/"&gt;Оновлення etcd з 3.3 до 3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_5/"&gt;Оновлення etcd з 3.4 до 3.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_6/"&gt;Оновлення etcd з 3.5 до 3.6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_7/"&gt;Оновлення etcd з 3.6 до 3.7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="upgrading-from-etcd-v23"&gt;Оновлення з etcd v2.3&lt;a class="td-heading-self-link" href="#upgrading-from-etcd-v23" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_0/"&gt;Оновлення кластера з v2.3 до v3.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Оновлення кластерів та застосунків etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrading-etcd/</guid><description>&lt;p&gt;Цей розділ містить документи, присвячені оновленню кластерів та застосунків etcd.&lt;/p&gt;
&lt;h2 id="upgrade-policy"&gt;Політика оновлення&lt;a class="td-heading-self-link" href="#upgrade-policy" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Перед оновленням зверніть увагу, що etcd підтримує лише два випадки оновлення:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Оновлення патча:&lt;/strong&gt; Оновлення між патч-релізами в межах однієї мінорної версії (наприклад, 3.7.0 - 3.7.1).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Мінорне оновлення:&lt;/strong&gt; Оновлення по одній мінорній версії за раз (наприклад, 3.6 - 3.7). Оновлення, що пропускають мінорну версію, не підтримуються і, ймовірно, не вдасться. Оновіться до найновішої версії патча перед оновленням до наступної мінорної версії.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="upgrading-an-etcd-v3x-cluster"&gt;Оновлення кластера etcd v3.x&lt;a class="td-heading-self-link" href="#upgrading-an-etcd-v3x-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_1/"&gt;Оновлення etcd з 3.0 до 3.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_2/"&gt;Оновлення etcd з 3.1 до 3.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_3/"&gt;Оновлення etcd з 3.2 до 3.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_4/"&gt;Оновлення etcd з 3.3 до 3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_5/"&gt;Оновлення etcd з 3.4 до 3.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_6/"&gt;Оновлення etcd з 3.5 до 3.6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_7/"&gt;Оновлення etcd з 3.6 до 3.7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="upgrading-from-etcd-v23"&gt;Оновлення з etcd v2.3&lt;a class="td-heading-self-link" href="#upgrading-from-etcd-v23" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_0/"&gt;Оновлення кластера з v2.3 до v3.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Пониження версії кластерів та застосунків etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/downgrades/downgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/downgrades/downgrading-etcd/</guid><description>&lt;p&gt;Цей розділ містить документи, що стосуються пониження рівня кластерів та застосунків etcd.&lt;/p&gt;
&lt;h2 id="downgrading-an-etcd-v3x-cluster"&gt;Пониження версії кластера etcd v3.x&lt;a class="td-heading-self-link" href="#downgrading-an-etcd-v3x-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/downgrades/downgrade_3_5/"&gt;Пониження версії etcd з 3.5 до 3.4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Пониження версії кластерів та застосунків etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/downgrades/downgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/downgrades/downgrading-etcd/</guid><description>&lt;p&gt;Цей розділ містить документи, що стосуються пониження версії кластерів та застосунків etcd.&lt;/p&gt;
&lt;h2 id="downgrading-an-etcd-v3x-cluster"&gt;Пониження версії кластера etcd v3.x&lt;a class="td-heading-self-link" href="#downgrading-an-etcd-v3x-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/downgrades/downgrade_3_5/"&gt;Пониження версії etcd з 3.5 до 3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/downgrades/downgrade_3_6/"&gt;Пониження версії etcd з 3.6 до 3.5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Пониження версії кластерів та застосунків etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrading-etcd/</guid><description>&lt;p&gt;Цей розділ містить документи, що стосуються пониження версії кластерів та застосунків etcd.&lt;/p&gt;
&lt;h2 id="downgrading-an-etcd-v3x-cluster"&gt;Пониження версії кластера etcd v3.x&lt;a class="td-heading-self-link" href="#downgrading-an-etcd-v3x-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrade_3_5/"&gt;Пониження версії etcd з 3.5 до 3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrade_3_6/"&gt;Пониження версії etcd з 3.6 до 3.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrade_3_7/"&gt;Пониження версії etcd з 3.7 до 3.6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Пониження версії кластерів та застосунків etcd</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrading-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrading-etcd/</guid><description>&lt;p&gt;Цей розділ містить документи, що стосуються пониження версії кластерів та застосунків etcd.&lt;/p&gt;
&lt;h2 id="downgrading-an-etcd-v3x-cluster"&gt;Пониження версії кластера etcd v3.x&lt;a class="td-heading-self-link" href="#downgrading-an-etcd-v3x-cluster" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrade_3_5/"&gt;Пониження версії etcd з 3.5 до 3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrade_3_6/"&gt;Пониження версії etcd з 3.6 до 3.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrade_3_7/"&gt;Пониження версії etcd з 3.7 до 3.6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Зниження версії etcd з 3.7 до 3.6</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrade_3_7/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrade_3_7/</guid><description>&lt;p&gt;У загальному випадку, зниження версії з etcd v3.7 до v3.6 може бути безперервним, поступовим зниженням версії без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.7 і замінюйте їх процесами etcd v3.6&lt;/li&gt;
&lt;li&gt;після увімкнення зниження версії нові функції у v3.7 більше не доступні для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#downgrade-procedure"&gt;почати зниження версії&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="downgrade-checklists"&gt;Контрольні списки для зниження версії&lt;a class="td-heading-self-link" href="#downgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Основні зміни між v3.7 та v3.6:&lt;/p&gt;
&lt;h4 id="difference-in-flags"&gt;Відмінності у прапорцях&lt;a class="td-heading-self-link" href="#difference-in-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;v3.7 не вводить жодних нових прапорців, тому процес v3.6 приймає кожен прапорець конфігурації v3.7, і жодних змін конфігурації не потрібно при зниженні версії.&lt;/p&gt;</description></item><item><title>Зниження версії etcd з 3.7 до 3.6</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrade_3_7/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrade_3_7/</guid><description>&lt;p&gt;У загальному випадку, зниження версії з etcd v3.7 до v3.6 може бути безперервним, поступовим зниженням версії без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.7 і замінюйте їх процесами etcd v3.6&lt;/li&gt;
&lt;li&gt;після увімкнення зниження версії нові функції у v3.7 більше не доступні для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#downgrade-procedure"&gt;почати зниження версії&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="downgrade-checklists"&gt;Контрольні списки для зниження версії&lt;a class="td-heading-self-link" href="#downgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Основні зміни між v3.7 та v3.6:&lt;/p&gt;
&lt;h4 id="difference-in-flags"&gt;Відмінності у прапорцях&lt;a class="td-heading-self-link" href="#difference-in-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;v3.7 не вводить жодних нових прапорців, тому процес v3.6 приймає кожен прапорець конфігурації v3.7, і жодних змін конфігурації не потрібно при зниженні версії.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.5 до 3.6</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_6/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd v3.5 до v3.6 може бути безперервним, поступовим оновленням без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.5 і замінюйте їх процесами etcd v3.6&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.6 нові функції у v3.6 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="update-35"&gt;Оновлення 3.5&lt;a class="td-heading-self-link" href="#update-35" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Important&lt;/div&gt;
&lt;p&gt;Перед оновленням до 3.6 переконайтеся, що &lt;a href="https://andygol-etcd.netlify.app/uk/blog/2026/july-patch-release/"&gt;всі ваші учасники 3.5 оновлені до 3.5.32 або пізнішої версії&lt;/a&gt;. Патч-випуски 3.5.24–&lt;a href="https://andygol-etcd.netlify.app/uk/blog/2026/july-patch-release/"&gt;3.5.32&lt;/a&gt; виправляють декілька потенційних блокерів оновлення, включаючи &lt;code&gt;--v2-deprecation=write-only-skip-check&lt;/code&gt; та &lt;code&gt;etcdutl check v2store&lt;/code&gt; для перевірки записів WAL, а також знімка v2.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.5 до 3.6</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_6/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd v3.5 до v3.6 може бути безперервним, поступовим оновленням без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.5 і замінюйте їх процесами etcd v3.6&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.6 нові функції у v3.6 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="update-35"&gt;Оновлення 3.5&lt;a class="td-heading-self-link" href="#update-35" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Important&lt;/div&gt;
&lt;p&gt;Перед оновленням до 3.6 переконайтеся, що &lt;a href="https://andygol-etcd.netlify.app/uk/blog/2026/july-patch-release/"&gt;всі ваші учасники 3.5 оновлено до 3.5.32 або пізнішої версії&lt;/a&gt;. Патч-випуски 3.5.24–3.5.26 виправляють декілька потенційних блокерів оновлення; &lt;a href="https://andygol-etcd.netlify.app/uk/blog/2026/july-patch-release/"&gt;3.5.32&lt;/a&gt; додає &lt;code&gt;--v2-deprecation=write-only-skip-check&lt;/code&gt; та розширює &lt;code&gt;etcdutl check v2store&lt;/code&gt; для перевірки записів WAL, а також знімка v2.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.5 до 3.6</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_6/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd v3.5 до v3.6 може бути безперервним, поступовим оновленням без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.5 і замінюйте їх процесами etcd v3.6&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.6 нові функції у v3.6 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="update-35"&gt;Оновлення 3.5&lt;a class="td-heading-self-link" href="#update-35" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Important&lt;/div&gt;
&lt;p&gt;Перед оновленням до 3.6 переконайтеся, що &lt;a href="https://andygol-etcd.netlify.app/uk/blog/2026/july-patch-release/"&gt;всі ваші учасники 3.5 оновлено до 3.5.32 або пізнішої версії&lt;/a&gt;. Патч-випуски 3.5.24–3.5.26 виправляють декілька потенційних блокерів оновлення; &lt;a href="https://andygol-etcd.netlify.app/uk/blog/2026/july-patch-release/"&gt;3.5.32&lt;/a&gt; додає &lt;code&gt;--v2-deprecation=write-only-skip-check&lt;/code&gt; та розширює &lt;code&gt;etcdutl check v2store&lt;/code&gt; для перевірки записів WAL, а також знімка v2.&lt;/p&gt;</description></item><item><title>Зниження версії etcd з 3.5 до 3.4</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/downgrades/downgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/downgrades/downgrade_3_5/</guid><description>&lt;p&gt;У загальному випадку, зниження версії з etcd 3.5 до 3.4 може бути безперервним, поступовим зниженням версії:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd 3.5 і замінюйте їх процесами etcd 3.4&lt;/li&gt;
&lt;li&gt;після запуску будь-яких процесів 3.4 нові функції в 3.5 більше не доступні для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#downgrade-procedure"&gt;почати зниження версії&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="downgrade-checklists"&gt;Контрольні списки для зниження версії&lt;a class="td-heading-self-link" href="#downgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;Якщо у вашому кластері увімкнено автентифікацію, поступове зниження версії з 3.5 не підтримується, оскільки 3.5 &lt;a href="https://github.com/etcd-io/etcd/pull/11943"&gt;змінює формат записів WAL, повʼязаних з автентифікацією&lt;/a&gt;. Ви можете дотримуватися &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/authentication/rbac/"&gt;інструкцій з автентифікації&lt;/a&gt;, щоб вимкнути автентифікацію та видалити всіх користувачів спочатку.&lt;/p&gt;</description></item><item><title>Зниження версії etcd з 3.5 до 3.4</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/downgrades/downgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/downgrades/downgrade_3_5/</guid><description>&lt;p&gt;У загальному випадку, зниження версії з etcd 3.5 до 3.4 може бути безперервним, поступовим зниженням версії:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd 3.5 і замінюйте їх процесами etcd 3.4&lt;/li&gt;
&lt;li&gt;після запуску будь-яких процесів 3.4 нові функції в 3.5 більше не доступні для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#downgrade-procedure"&gt;почати зниження версії&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="downgrade-checklists"&gt;Контрольні списки для зниження версії&lt;a class="td-heading-self-link" href="#downgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;Якщо у вашому кластері увімкнено автентифікацію, поступове зниження версії з 3.5 не підтримується, оскільки 3.5 &lt;a href="https://github.com/etcd-io/etcd/pull/11943"&gt;змінює формат записів WAL, повʼязаних з автентифікацією&lt;/a&gt;. Ви можете дотримуватися &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/authentication/rbac/"&gt;інструкцій з автентифікації&lt;/a&gt;, щоб вимкнути автентифікацію та видалити всіх користувачів спочатку.&lt;/p&gt;</description></item><item><title>Зниження версії etcd з 3.5 до 3.4</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrade_3_5/</guid><description>&lt;p&gt;У загальному випадку, зниження версії з etcd 3.5 до 3.4 може бути безперервним, поступовим зниженням версії:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd 3.5 і замінюйте їх процесами etcd 3.4&lt;/li&gt;
&lt;li&gt;після запуску будь-яких процесів 3.4 нові функції в 3.5 більше не доступні для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#downgrade-procedure"&gt;почати зниження версії&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="downgrade-checklists"&gt;Контрольні списки для зниження версії&lt;a class="td-heading-self-link" href="#downgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;Якщо у вашому кластері увімкнено автентифікацію, поступове зниження версії з 3.5 не підтримується, оскільки 3.5 &lt;a href="https://github.com/etcd-io/etcd/pull/11943"&gt;змінює формат записів WAL, повʼязаних з автентифікацією&lt;/a&gt;. Ви можете дотримуватися &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/authentication/rbac/"&gt;інструкцій з автентифікації&lt;/a&gt;, щоб вимкнути автентифікацію та видалити всіх користувачів спочатку.&lt;/p&gt;</description></item><item><title>Зниження версії etcd з 3.5 до 3.4</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrade_3_5/</guid><description>&lt;p&gt;У загальному випадку, зниження версії з etcd 3.5 до 3.4 може бути безперервним, поступовим зниженням версії:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd 3.5 і замінюйте їх процесами etcd 3.4&lt;/li&gt;
&lt;li&gt;після запуску будь-яких процесів 3.4 нові функції в 3.5 більше не доступні для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#downgrade-procedure"&gt;почати зниження версії&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="downgrade-checklists"&gt;Контрольні списки для зниження версії&lt;a class="td-heading-self-link" href="#downgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;Якщо у вашому кластері увімкнено автентифікацію, поступове зниження версії з 3.5 не підтримується, оскільки 3.5 &lt;a href="https://github.com/etcd-io/etcd/pull/11943"&gt;змінює формат записів WAL, повʼязаних з автентифікацією&lt;/a&gt;. Ви можете дотримуватися &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/authentication/rbac/"&gt;інструкцій з автентифікації&lt;/a&gt;, щоб вимкнути автентифікацію та видалити всіх користувачів спочатку.&lt;/p&gt;</description></item><item><title>Зниження версії etcd з 3.6 до 3.5</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/downgrades/downgrade_3_6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/downgrades/downgrade_3_6/</guid><description>&lt;p&gt;У загальному випадку, зниження версії з etcd v3.6 до v3.5 може бути безперервним, поступовим зниженням версії без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.6 і замінюйте їх процесами etcd v3.5&lt;/li&gt;
&lt;li&gt;після увімкнення зниження версії нові функції у v3.6 більше не доступні для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#downgrade-procedure"&gt;почати зниження версії&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="downgrade-checklists"&gt;Контрольні списки для зниження версії&lt;a class="td-heading-self-link" href="#downgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Основні зміни між v3.6 та v3.5:&lt;/p&gt;
&lt;h4 id="difference-in-flags"&gt;Відмінності у прапорцях&lt;a class="td-heading-self-link" href="#difference-in-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Якщо ви використовуєте будь-які з наступних прапорців у ваших конфігураціях v3.6, переконайтеся, що ви видалили, перейменували або змінили стандартне значення при зниженні до v3.5.&lt;/p&gt;</description></item><item><title>Зниження версії etcd з 3.6 до 3.5</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrade_3_6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/downgrades/downgrade_3_6/</guid><description>&lt;p&gt;У загальному випадку, зниження версії з etcd v3.6 до v3.5 може бути безперервним, поступовим зниженням версії без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.6 і замінюйте їх процесами etcd v3.5&lt;/li&gt;
&lt;li&gt;після увімкнення зниження версії нові функції у v3.6 більше не доступні для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#downgrade-procedure"&gt;почати зниження версії&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="downgrade-checklists"&gt;Контрольні списки для зниження версії&lt;a class="td-heading-self-link" href="#downgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Основні зміни між v3.6 та v3.5:&lt;/p&gt;
&lt;h4 id="difference-in-flags"&gt;Відмінності у прапорцях&lt;a class="td-heading-self-link" href="#difference-in-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Якщо ви використовуєте будь-які з наступних прапорців у ваших конфігураціях v3.6, переконайтеся, що ви видалили, перейменували або змінили стандартне значення при зниженні до v3.5.&lt;/p&gt;</description></item><item><title>Зниження версії etcd з 3.6 до 3.5</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrade_3_6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/downgrades/downgrade_3_6/</guid><description>&lt;p&gt;У загальному випадку, зниження версії з etcd v3.6 до v3.5 може бути безперервним, поступовим зниженням версії без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.6 і замінюйте їх процесами etcd v3.5&lt;/li&gt;
&lt;li&gt;після увімкнення зниження версії нові функції у v3.6 більше не доступні для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#downgrade-procedure"&gt;почати зниження версії&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="downgrade-checklists"&gt;Контрольні списки для зниження версії&lt;a class="td-heading-self-link" href="#downgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Основні зміни між v3.6 та v3.5:&lt;/p&gt;
&lt;h4 id="difference-in-flags"&gt;Відмінності у прапорцях&lt;a class="td-heading-self-link" href="#difference-in-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Якщо ви використовуєте будь-які з наступних прапорців у ваших конфігураціях v3.6, переконайтеся, що ви видалили, перейменували або змінили стандартне значення при зниженні до v3.5.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.4 до 3.5</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_5/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.4 до 3.5 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.4 і замінюйте їх процесами etcd v3.5&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.5 нові функції в v3.5 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.4 до 3.5</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_5/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.4 до 3.5 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.4 і замінюйте їх процесами etcd v3.5&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.5 нові функції в v3.5 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.4 до 3.5</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_5/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.4 до 3.5 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.4 і замінюйте їх процесами etcd v3.5&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.5 нові функції в v3.5 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.4 до 3.5</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_5/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.4 до 3.5 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.4 і замінюйте їх процесами etcd v3.5&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.5 нові функції в v3.5 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.3 до 3.4</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_4/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_4/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.3 до 3.4 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.3 і замінюйте їх процесами etcd v3.4&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.4 нові функції v3.4 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 могли відбуватися лише з даними v3. Не оновлюйтеся до новіших версій v3, доки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.3 до 3.4</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_4/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_4/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.3 до 3.4 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.3 і замінюйте їх процесами etcd v3.4&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.4 нові функції v3.4 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 могли відбуватися лише з даними v3. Не оновлюйтеся до новіших версій v3, доки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.3 до 3.4</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_4/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_4/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.3 до 3.4 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.3 і замінюйте їх процесами etcd v3.4&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.4 нові функції v3.4 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 могли відбуватися лише з даними v3. Не оновлюйтеся до новіших версій v3, доки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.3 до 3.4</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_4/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_4/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.3 до 3.4 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.3 і замінюйте їх процесами etcd v3.4&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.4 нові функції v3.4 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 могли відбуватися лише з даними v3. Не оновлюйтеся до новіших версій v3, доки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.6 до 3.7</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_7/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_7/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd v3.6 до v3.7 може бути безперервним, поступовим оновленням без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.6 і замінюйте їх процесами etcd v3.7&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.7 нові функції у v3.7 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="update-36"&gt;Оновлення 3.6&lt;a class="td-heading-self-link" href="#update-36" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Important&lt;/div&gt;
&lt;p&gt;Перед оновленням до 3.7 переконайтеся, що всі ваші учасники 3.6 оновлено до 3.6.11 або пізнішої версії. Раніші патч-випуски 3.6 можуть бути несумісними з поступовим оновленням до 3.7.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.6 до 3.7</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_7/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_7/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd v3.6 до v3.7 може бути безперервним, поступовим оновленням без простою:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.6 і замінюйте їх процесами etcd v3.7&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.7 нові функції у v3.7 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="update-36"&gt;Оновлення 3.6&lt;a class="td-heading-self-link" href="#update-36" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Important&lt;/div&gt;
&lt;p&gt;Перед оновленням до 3.7 переконайтеся, що всі ваші учасники 3.6 оновлено до 3.6.11 або пізнішої версії. Раніші патч-випуски 3.6 можуть бути несумісними з поступовим оновленням до 3.7.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.2 до 3.3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_3/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.2 до 3.3 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.2 і замінюйте їх процесами etcd v3.3&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.3 нові функції v3.3 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки для оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 були тільки дані v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.2 до 3.3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_3/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.2 до 3.3 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.2 і замінюйте їх процесами etcd v3.3&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.3 нові функції v3.3 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки для оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 були тільки дані v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.2 до 3.3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_3/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.2 до 3.3 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.2 і замінюйте їх процесами etcd v3.3&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.3 нові функції v3.3 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки для оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 були тільки дані v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.2 до 3.3</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_3/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.2 до 3.3 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.2 і замінюйте їх процесами etcd v3.3&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.3 нові функції v3.3 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки для оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 були тільки дані v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.1 до 3.2</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_2/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.1 до 3.2 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.1 та замінюйте їх процесами etcd v3.2&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.2 нові функції в v3.2 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки для оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.1 до 3.2</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_2/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.1 до 3.2 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.1 та замінюйте їх процесами etcd v3.2&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.2 нові функції в v3.2 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки для оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.1 до 3.2</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_2/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.1 до 3.2 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.1 та замінюйте їх процесами etcd v3.2&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.2 нові функції в v3.2 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки для оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.1 до 3.2</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_2/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.1 до 3.2 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.1 та замінюйте їх процесами etcd v3.2&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.2 нові функції в v3.2 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки для оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.0 до 3.1</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_1/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.0 до 3.1 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.0 і замінюйте їх процесами etcd v3.1&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.1 нові функції v3.1 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.0 до 3.1</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_1/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.0 до 3.1 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.0 і замінюйте їх процесами etcd v3.1&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.1 нові функції v3.1 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.0 до 3.1</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_1/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.0 до 3.1 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.0 і замінюйте їх процесами etcd v3.1&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.1 нові функції v3.1 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 3.0 до 3.1</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_1/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 3.0 до 3.1 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v3.0 і замінюйте їх процесами etcd v3.1&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.1 нові функції v3.1 стають доступними для кластера&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед тим як &lt;a href="#upgrade-procedure"&gt;почати оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 2.3 до 3.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_0/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/upgrades/upgrade_3_0/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 2.3 до 3.0 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v2.3 і замінюйте їх процесами etcd v3.0&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.0 нові функції v3.0 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 2.3 до 3.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_0/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_0/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 2.3 до 3.0 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v2.3 і замінюйте їх процесами etcd v3.0&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.0 нові функції v3.0 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 2.3 до 3.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_0/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/upgrades/upgrade_3_0/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 2.3 до 3.0 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v2.3 і замінюйте їх процесами etcd v3.0&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.0 нові функції v3.0 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Оновлення etcd з 2.3 до 3.0</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_0/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/upgrades/upgrade_3_0/</guid><description>&lt;p&gt;У загальному випадку, оновлення з etcd 2.3 до 3.0 може бути безперервним, поступовим оновленням:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;по черзі зупиняйте процеси etcd v2.3 і замінюйте їх процесами etcd v3.0&lt;/li&gt;
&lt;li&gt;після запуску всіх процесів v3.0 нові функції v3.0 будуть доступні кластеру&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед &lt;a href="#upgrade-procedure"&gt;початком оновлення&lt;/a&gt;, прочитайте решту цього посібника, щоб підготуватися.&lt;/p&gt;
&lt;h3 id="upgrade-checklists"&gt;Контрольні списки оновлення&lt;a class="td-heading-self-link" href="#upgrade-checklists" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Примітка&lt;/div&gt;
&lt;p&gt;При &lt;a href="https://github.com/etcd-io/etcd/issues/9480"&gt;міграції з v2 без даних v3&lt;/a&gt;, сервер etcd v3.2+ панікує, коли etcd відновлюється з наявних знімків, але немає файлу v3 &lt;code&gt;ETCD_DATA_DIR/member/snap/db&lt;/code&gt;. Це відбувається, коли сервер мігрував з v2 без попередніх даних v3. Це також запобігає випадковій втраті даних v3 (наприклад, файл &lt;code&gt;db&lt;/code&gt; міг бути переміщений). etcd вимагає, щоб після міграції v3 можна було продовжувати лише з даними v3. Не оновлюйте до новіших версій v3, поки сервер v3.0 не містить даних v3.&lt;/p&gt;</description></item><item><title>Патч-випуски Etcd: v3.7.2, v3.6.15 та v3.5.34</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/sep-21-patch-release/</link><pubDate>Tue, 22 Sep 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/sep-21-patch-release/</guid><description>&lt;p&gt;SIG-etcd випустив патч-оновлення для всіх трьох підтримуваних гілок випуску. Ці випуски оновлюють залежності, усувають витік дескриптора файлу під час очищення файлів, виправляють вивід &lt;code&gt;etcdctl endpoint status&lt;/code&gt; і покращують визначення версії у v3.7. Користувачам v3.5, v3.6 та v3.7 слід оновитися під час наступного запланованого вікна технічного обслуговування після того, як випуски стануть доступними.&lt;/p&gt;
&lt;p&gt;Отримайте оновлення тут:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.7.2"&gt;v3.7.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.15"&gt;v3.6.15&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.34"&gt;v3.5.34&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Офіційні контейнерні образи доступні з &lt;a href="https://gcr.io/etcd-development/etcd"&gt;gcr.io&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="dependency-security-updates"&gt;Оновлення безпеки залежностей&lt;a class="td-heading-self-link" href="#dependency-security-updates" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;v3.6.15 і v3.5.34 оновлюють &lt;code&gt;github.com/gorilla/websocket&lt;/code&gt; до v1.5.3, щоб &lt;a href="https://github.com/advisories/GHSA-w67g-5rqw-f597"&gt;усунути проблему з ненадійною криптографією&lt;/a&gt; (номер CVE ще не присвоєно).&lt;/p&gt;</description></item><item><title>Патч-випуски Etcd: v3.7.1, v3.6.14 та v3.5.33</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/july-23-patch-release/</link><pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/july-23-patch-release/</guid><description>&lt;p&gt;SIG-etcd випустив патч-оновлення для всіх трьох підтримуваних гілок випуску. Ці випуски виправляють дві вразливості безпеки, кілька незначних проблем безпеки та усувають кілька проблем надійності на сервері, у клієнтській бібліотеці та в TLS-стеку. Користувачам v3.5, v3.6 та v3.7 слід оновитися під час наступного запланованого вікна технічного обслуговування.&lt;/p&gt;
&lt;p&gt;Отримайте оновлення тут:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.7.1"&gt;v3.7.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.14"&gt;v3.6.14&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.33"&gt;v3.5.33&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Офіційні контейнерні образи доступні з &lt;a href="https://gcr.io/etcd-development/etcd"&gt;gcr.io&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="security-fix-watch-responses-leaked-across-rbac-key-boundaries"&gt;Виправлення безпеки: витік відповідей watch через межі RBAC-ключів&lt;a class="td-heading-self-link" href="#security-fix-watch-responses-leaked-across-rbac-key-boundaries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Усі три випуски виправляють вразливість, за якої користувач із наданим правом читання на один ключ міг отримувати сповіщення watch-подій для кожного ключа, починаючи з цього ключа, розкриваючи дані поза межами його авторизованої області.&lt;/p&gt;</description></item><item><title>Повідомлення про випуск etcd v3.7.0</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/announcing-etcd-3.7/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/announcing-etcd-3.7/</guid><description>&lt;h2 id="table-of-contents"&gt;Зміст&lt;a class="td-heading-self-link" href="#table-of-contents" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#introduction"&gt;Вступ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#major-features"&gt;Основні функції&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#features"&gt;Функції&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#rangestream"&gt;RangeStream&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#performance-improvements"&gt;Покращення продуктивності&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#keys-only-range-optimization"&gt;Оптимізація запитів лише з ключами&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#faster-more-reliable-etcd-leases"&gt;Швидші та надійніші оренди etcd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#faster-find-operations"&gt;Швидші операції find()&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#other-features"&gt;Інші функції&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#protobuf-overhaul"&gt;Модернізація protobuf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#unix-socket-support"&gt;Підтримка Unix-сокетів&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#bootstrap-from-v3store"&gt;Завантаження з v3store&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#etcdutl-timeouts"&gt;Тайм-аути etcdutl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#setting-the-authentication-token-directly"&gt;Пряме встановлення токена автентифікації&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#retrieve-authstatus-without-authenticating"&gt;Отримання AuthStatus без автентифікації&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#new-watch-metrics"&gt;Нові метрики спостереження&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#etcdctl-command-cleanup"&gt;Очищення команд etcdctl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#upgrading"&gt;Оновлення&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#experimental-flags-removed"&gt;Видалення експериментальних прапорців&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#legacy-v2-api-packages-and-code-cleanup"&gt;Очищення пакунків та коду API Legacy V2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#non-blocking-client-creation"&gt;Неблокуюче створення клієнта&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#multiarch-container-images-only"&gt;Лише багатоархітектурні контейнерні образи&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#api-changes"&gt;Зміни в API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#bbolt-v151"&gt;bbolt v1.5.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#raft-v370"&gt;raft v3.7.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dependency-updates"&gt;Оновлення залежностей&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#contributors"&gt;Учасники&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#leads"&gt;Лідери&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#other-contributors"&gt;Інші учасники&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#new-contributors"&gt;Нові учасники&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="introduction"&gt;Вступ&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сьогодні SIG etcd випускає &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.7.0"&gt;etcd v3.7.0&lt;/a&gt; — останній мінорний випуск популярного розподіленого сховища ключ-значення та ключового компонента Kubernetes. v3.7 містить довгоочікувану функцію RangeStream, надає кілька інших покращень продуктивності, видаляє останні залишки застарілого v2store та завершує масштабну модернізацію protobuf.&lt;/p&gt;</description></item><item><title>Липневі патч-випуски Etcd: v3.5.32 та v3.6.13</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/july-patch-release/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/july-patch-release/</guid><description>&lt;p&gt;SIG-etcd випустила чергові оновлення у вигляді патчів для гілок версій v3.5 та v3.6. Ці випуски усувають уразливості CVE, пов’язані із залежностями, виправляють помилку автентифікації WebSocket та додають нову опцію, яка допоможе операторам завершити процес виведення з експлуатації сховища v2. Користувачам версій v3.5 та v3.6 слід виконати оновлення під час наступного запланованого періоду технічного обслуговування.&lt;/p&gt;
&lt;p&gt;Отримайте оновлення тут:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.13"&gt;v3.6.13&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.32"&gt;v3.5.32&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Офіційні контейнерні образи доступні з &lt;a href="https://gcr.io/etcd-development/etcd"&gt;gcr.io&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Як зазначено в &lt;a href="https://andygol-etcd.netlify.app/uk/blog/2026/june-patch-release/"&gt;червневому випуску&lt;/a&gt;, v3.4 досягла кінця підтримки і більше не отримуватиме жодних патчів. Якщо ви досі працюєте на v3.4, будь ласка, якомога швидше &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_5/"&gt;оновіться до підтримуваної версії&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>etcd v3.7.0-rc.0 тепер доступний для тестування</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/etcd-370-rc/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/etcd-370-rc/</guid><description>&lt;p&gt;SIG-Etcd оголошує про доступність etcd v3.7.0-rc.0 — першого кандидата на випуск майбутнього релізу etcd v3.7.0.&lt;/p&gt;
&lt;p&gt;Цей кандидат на випуск містить довгоочікувану функцію RangeStream, видалення решти застарілих компонентів v2store, рефакторинг protobuf, оновлення залежностей та покращення продуктивності для великих робочих навантажень читання. Це ще не фінальний випуск v3.7.0. Проєкт просить користувачів та похідні проєкти протестувати цього кандидата на випуск і повідомити про будь-які проблеми до фінального випуску.&lt;/p&gt;
&lt;p&gt;Ви можете знайти etcd v3.7.0-rc.0 тут:&lt;/p&gt;</description></item><item><title>Фінальне оновлення для v3.4, а також випуски 3.5.31, 3.6.12</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/june-patch-release/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/june-patch-release/</guid><description>&lt;p&gt;SIG-etcd випустив фінальне патч-оновлення для v3.4 разом із оновленнями безпеки для v3.5 та v3.6. Користувачам v3.4 слід якомога швидше розпочати процес оновлення. Користувачам v3.5 та v3.6 слід оновитися під час наступного запланованого вікна технічного обслуговування.&lt;/p&gt;
&lt;p&gt;Отримайте всі три оновлення тут:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.12"&gt;v3.6.12&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.31"&gt;v3.5.31&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.4.45"&gt;v3.4.45&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Офіційні контейнерні образи доступні з &lt;a href="https://gcr.io/etcd-development/etcd"&gt;gcr.io&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="final-v34-release"&gt;Фінальний випуск v3.4&lt;a class="td-heading-self-link" href="#final-v34-release" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Це оновлення позначає кінець підтримки (EOL) для v3.4, спочатку &lt;a href="https://kubernetes.io/blog/2019/08/30/announcing-etcd-3-4/"&gt;випущеної в серпні 2019 року&lt;/a&gt;. Проєкт Kubernetes більше не випускатиме жодних патчів. Якщо ви досі використовуєте v3.4, будь ласка, якомога швидше &lt;a href="docs/v3.6/upgrades/upgrade_3_5/"&gt;оновіться до підтримуваної версії&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Оголошення про випуск etcd v3.7.0-beta.0</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/etcd-370-beta/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/etcd-370-beta/</guid><description>&lt;p&gt;SIG-Etcd оголошує про доступність &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.7.0-beta.0"&gt;першої бета-версії etcd v3.7.0&lt;/a&gt;. Ця нова версія популярної розподіленої бази даних та ключового компонента Kubernetes містить довгоочікувану функцію RangeStream, а також рефакторинг і очищення кількох застарілих компонентів та інтерфейсів. v3.7 забезпечить покращену безпеку, кращу операційну надійність та покращений досвід роботи з великими наборами результатів.&lt;/p&gt;
&lt;p&gt;Однак спочатку проєкту потрібно, щоб користувачі протестували бета-версію. Ви можете знайти v3.7.0-beta.0 тут:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/archive/refs/tags/v3.7.0-beta.0.tar.gz"&gt;Вихідний код&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/releases/download/v3.7.0-beta.0/etcd-v3.7.0-beta.0-linux-arm64.tar.gz"&gt;Бінарні файли&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://console.cloud.google.com/artifacts/docker/etcd-development/us/gcr.io/etcd/sha256:b121286da5bfd4de3596e436e449da44e5a31314a6eb19780a6fc477410c8dfa"&gt;Офіційні контейнерні образи&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Будь ласка, спробуйте її та повідомляйте про проблеми &lt;a href="https://github.com/etcd-io/etcd/issues"&gt;у репозиторії etcd&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Випуск безпеки від 1 травня виправляє оминання RBAC у транзакціях</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/may-patch-release/</link><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/may-patch-release/</guid><description>&lt;p&gt;SIG-etcd сьогодні випустив оновлення &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.11"&gt;v3.6.11&lt;/a&gt;, &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.30"&gt;v3.5.30&lt;/a&gt; та &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.4.44"&gt;v3.4.44&lt;/a&gt;. Ці патч-випуски виправляють вразливість, яка дозволяє автентифікованому користувачу оминати перевірки авторизації RBAC під час читання даних через &lt;code&gt;PrevKv&lt;/code&gt; або приєднання оренд усередині запитів &lt;code&gt;Put&lt;/code&gt;, вкладених у транзакції etcd.&lt;/p&gt;
&lt;p&gt;Крім того, v3.6.11 та v3.5.30 містять виправлення помилки, яка перешкоджала додаванню нового члена, коли один член був недоступний, навіть якщо кворум усе ще був задоволений.&lt;/p&gt;
&lt;p&gt;Ця вразливість не впливає на etcd як частину панелі управління Kubernetes. Kubernetes не покладається на вбудовану автентифікацію та авторизацію etcd; сервер API сам обробляє автентифікацію та авторизацію. Проблема впливає лише на кластери etcd в інших контекстах, зокрема на ті, де Auth увімкнено і вона потрібна для контролю доступу в ненадійних або частково надійних мережах або з ненадійними користувачами.&lt;/p&gt;</description></item><item><title>Випуск безпеки від 20 березня виправляє вразливості автентифікації</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/mar20-patch-release/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/mar20-patch-release/</guid><description>&lt;p&gt;SIG-etcd сьогодні випустив оновлення &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.9"&gt;3.6.9&lt;/a&gt;, &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.28"&gt;3.5.28&lt;/a&gt; та &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.4.42"&gt;3.4.42&lt;/a&gt;. Ці патч-випуски виправляють кілька вразливостей, які дозволяють неавторизованим користувачам обходити контроль автентифікації або авторизації, що є частиною etcd Auth, за допомогою gRPC API.&lt;/p&gt;
&lt;p&gt;Ці вразливості не впливають на etcd як частину панелі управління Kubernetes. Вони впливають лише на кластери etcd в інших контекстах, зокрема на ті, де Auth увімкнено і вона потрібна для контролю доступу в ненадійних або частково надійних мережах або з ненадійними користувачами.&lt;/p&gt;</description></item><item><title>Оголошення про випуск etcd-operator v0.2.0</title><link>https://andygol-etcd.netlify.app/uk/blog/2026/announcing-etcd-operator-v0.2.0/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2026/announcing-etcd-operator-v0.2.0/</guid><description>&lt;h2 id="introduction"&gt;Вступ&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сьогодні ми раді оголосити про випуск &lt;a href="https://github.com/etcd-io/etcd-operator/releases/tag/v0.2.0"&gt;etcd-operator v0.2.0&lt;/a&gt;! Цей випуск приносить важливі нові функції та покращення, що підвищують безпеку, надійність і зручність експлуатації під час керування кластерами etcd.&lt;/p&gt;
&lt;h2 id="new-features"&gt;Нові функції&lt;a class="td-heading-self-link" href="#new-features" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="certificate-management"&gt;Керування сертифікатами&lt;a class="td-heading-self-link" href="#certificate-management" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Версія 0.2.0 впроваджує вбудоване керування сертифікатами для захисту всього TLS-звʼязку:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Між членами etcd (звʼязок між членами)&lt;/li&gt;
&lt;li&gt;Між клієнтами та членами etcd&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;TLS налаштовується лише тоді, коли його явно ввімкнено користувачем. Після ввімкнення etcd-operator автоматично надає та керує сертифікатами на основі вибраного провайдера.&lt;/p&gt;</description></item><item><title>Уникнення зомбі-членів кластера під час оновлення до etcd v3.6</title><link>https://andygol-etcd.netlify.app/uk/blog/2025/zombie_members_upgrade/</link><pubDate>Wed, 17 Dec 2025 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2025/zombie_members_upgrade/</guid><description>&lt;p&gt;&lt;strong&gt;Підсумок: SIG-etcd виправила ще одну потенційну проблему, що блокує оновлення з v3.5 до v3.6. Якщо ви оновлюєтеся, обовʼязково спочатку оновіться до &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.26"&gt;v3.5.26&lt;/a&gt; або новішої версії.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="issue-summary"&gt;Підсумок проблеми&lt;a class="td-heading-self-link" href="#issue-summary" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Нещодавно спільнота etcd вирішила проблему, яка може виникнути, коли користувачі &lt;a href="https://andygol-etcd.netlify.app/uk/docs/v3.6/upgrades/upgrade_3_6/"&gt;оновлюються з v3.5 до v3.6&lt;/a&gt;. Ця помилка може спричинити появу в кластері «зомбі-членів» — вузлів etcd, які були видалені з кластера бази даних деякий час тому, але знову зʼявляються та приєднуються до консенсусу бази даних. Кластер etcd стає тоді непрацездатним, доки ці зомбі-члени не будуть видалені.&lt;/p&gt;</description></item><item><title>Продовження — Запобігання збоям оновлення з etcd v3.5 до v3.6</title><link>https://andygol-etcd.netlify.app/uk/blog/2025/upgrade_from_3.5_to_3.6_issue_followup/</link><pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2025/upgrade_from_3.5_to_3.6_issue_followup/</guid><description>&lt;p&gt;Ми виявили та виправили додатковий сценарій, який може спричинити збої оновлення під час переходу з etcd v3.5 до v3.6. Цей допис містить деталі, виправлення та додаткові обхідні шляхи. Будь ласка, зверніться до тікета &lt;a href="https://github.com/etcd-io/etcd/issues/20793"&gt;#20793&lt;/a&gt;, щоб отримати детальну технічну інформацію.&lt;/p&gt;
&lt;h2 id="issue"&gt;Проблема&lt;a class="td-heading-self-link" href="#issue" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;У попередньому дописі — &lt;a href="https://etcd.io/blog/2025/upgrade_from_3.5_to_3.6_issue/"&gt;Як запобігти поширеному збою під час оновлення etcd v3.5 до v3.6&lt;/a&gt; — ми описали проблему оновлення, що впливає на версії etcd у діапазоні v3.5.1-v3.5.19. Цю проблему було вирішено у v3.5.20. Однак подальше розслідування виявило, що початкове виправлення не охоплювало всі сценарії.&lt;/p&gt;</description></item><item><title>Автономне тестування надійності etcd</title><link>https://andygol-etcd.netlify.app/uk/blog/2025/autonomus_testing_with_antithesis/</link><pubDate>Fri, 03 Oct 2025 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2025/autonomus_testing_with_antithesis/</guid><description>&lt;p&gt;&lt;em&gt;Це допис із &lt;a href="https://www.cncf.io/blog/2025/09/25/autonomous-testing-of-etcds-robustness/"&gt;блогу CNCF&lt;/a&gt;, яким ми також ділимося з нашою спільнотою.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Як критичний компонент багатьох робочих систем, включно з Kubernetes, головним пріоритетом проєкту etcd є надійність. Забезпечення узгодженості та безпеки даних вимагає від учасників нашого проєкту постійного вдосконалення методологій тестування. У цій статті йдеться про те, як ми використовували передове симуляційне тестування для виявлення непомітних помилок, перевірки надійності наших випусків та підвищення нашої впевненості у стабільності etcd. Ми поділимося нашими ключовими висновками та тим, як вони покращили etcd.&lt;/p&gt;</description></item><item><title>Повідомлення про випуск etcd v3.6.0</title><link>https://andygol-etcd.netlify.app/uk/blog/2025/announcing-etcd-3.6/</link><pubDate>Thu, 15 May 2025 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2025/announcing-etcd-3.6/</guid><description>&lt;h2 id="table-of-contents"&gt;Зміст&lt;a class="td-heading-self-link" href="#table-of-contents" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#introduction"&gt;Вступ&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#security"&gt;Безпека&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#features"&gt;Можливості&lt;/a&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#migration-to-v3store"&gt;Міграція на v3store&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#downgrade"&gt;Пониження версії&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#feature-gates"&gt;Функціональні можливості (Feature Gates)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#livezreadyz-checks"&gt;Перевірки livez/readyz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#v3discovery"&gt;v3discovery&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#performance"&gt;Продуктивність&lt;/a&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#memory"&gt;Памʼять&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#throughput"&gt;Пропускна здатність&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#breaking-changes"&gt;Зміни, що порушують сумісність&lt;/a&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#old-binaries-are-incompatible-with-new-schema-versions"&gt;Старі бінарні файли несумісні з новими версіями схеми&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#peer-endpoints-no-longer-serve-client-requests"&gt;Точки доступу Peer більше не обслуговують клієнтські запити&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#clear-boundary-between-etcdctl-and-etcdutl"&gt;Чітка межа між etcdctl та etcdutl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#testing"&gt;Тестування&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#critical-bug-fixes"&gt;Виправлення критичних помилок&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#upgrade-issue"&gt;Проблема оновлення&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#platforms"&gt;Платформи&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#dependencies"&gt;Залежності&lt;/a&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#dependency-bumping-guide"&gt;Посібник з оновлення залежностей&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#core-dependency-updates"&gt;Оновлення основних залежностей&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#grpc-gatewayv2"&gt;grpc-gateway@v2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#grpc-ecosystemgo-grpc-middlewareprovidersprometheus"&gt;grpc-ecosystem/go-grpc-middleware/providers/prometheus&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#community"&gt;Спільнота&lt;/a&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#etcd-becomes-a-kubernetes-sig"&gt;etcd стає SIG Kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#new-contributors-maintainers-and-reviewers"&gt;Нові учасники, підтримувачі та рецензенти&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#new-release-team"&gt;Нова команда випуску&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#introducing-the-etcd-operator-working-group"&gt;Представляємо робочу групу etcd Operator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#extended-support-for-v34"&gt;Розширена підтримка v3.4&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="#future-development"&gt;Подальший розвиток&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="introduction"&gt;Вступ&lt;a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сьогодні ми повідомляємо про випуск &lt;a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.0"&gt;etcd v3.6.0&lt;/a&gt;, перший мінорний випуск після etcd v3.5.0, що вийшов 15 червня 2021 року. Цей випуск представляє кілька нових функцій, демонструє значний прогрес у реалвізації довгострокових завдань, таких як підтримка пониження версії та міграція на v3store, а також закриває численні критичні та значні проблеми. Він також включає суттєві оптимізації використання пам’яті, що підвищують ефективність і продуктивність.&lt;/p&gt;</description></item><item><title>Як запобігти поширеному збою під час оновлення etcd v3.5 до v3.6</title><link>https://andygol-etcd.netlify.app/uk/blog/2025/upgrade_from_3.5_to_3.6_issue/</link><pubDate>Thu, 27 Mar 2025 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2025/upgrade_from_3.5_to_3.6_issue/</guid><description>&lt;div class="alert alert-primary" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Оновлення (21 жовтня 2025)&lt;/div&gt;
&lt;p&gt;Ми виявили та виправили дві додаткові проблеми оновлення. Будь ласка, перегляньте наші нові дописи в блозі &lt;a href="https://andygol-etcd.netlify.app/uk/blog/2025/upgrade_from_3.5_to_3.6_issue_followup/"&gt;Продовження — Запобігання збоям оновлення з etcd v3.5 до v3.6&lt;/a&gt; та &lt;a href="https://andygol-etcd.netlify.app/uk/blog/2025/zombie_members_upgrade/"&gt;Уникнення зомбі-членів кластера під час оновлення&lt;/a&gt; для деталей.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Існує поширена проблема &lt;a href="https://github.com/etcd-io/etcd/issues/19557"&gt;#19557&lt;/a&gt; в оновленні etcd з v3.5 до v3.6, яка може спричинити збій процесу оновлення. Ви можете знайти детальну інформацію та повʼязані обговорення в цій проблемі.&lt;/p&gt;
&lt;h2 id="tl-dr"&gt;TL; DR&lt;a class="td-heading-self-link" href="#tl-dr" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Користувачі повинні спочатку оновитися до etcd v3.5.20 (або вищої patch-версії) перед оновленням до etcd v3.6.0. Недотримання цього може призвести до невдалого оновлення.&lt;/p&gt;</description></item><item><title>Представляємо sig-etcd</title><link>https://andygol-etcd.netlify.app/uk/blog/2023/introducing-sig-etcd/</link><pubDate>Wed, 01 Nov 2023 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/blog/2023/introducing-sig-etcd/</guid><description>&lt;p&gt;Спеціальні інтерес-групи (SIG) є фундаментальною частиною проєкту Kubernetes, з великою часткою активності спільноти, що відбувається в них. Коли виникає потреба, &lt;a href="https://github.com/kubernetes/community/blob/master/sig-wg-lifecycle.md"&gt;можуть бути створені нові SIG&lt;/a&gt;, і саме це сталося нещодавно.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/kubernetes/community/blob/master/sig-etcd/README.md"&gt;SIG etcd&lt;/a&gt; є найновішим доповненням до списку SIG Kubernetes. У цій статті ми познайомимося з ним ближче, зрозуміємо його походження, обсяг і плани.&lt;/p&gt;
&lt;h2 id="the-critical-role-of-etcd"&gt;Критична роль etcd&lt;a class="td-heading-self-link" href="#the-critical-role-of-etcd" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Якщо ми заглянемо всередину панелі управління кластера Kubernetes, ми знайдемо &lt;a href="https://kubernetes.io/docs/concepts/overview/components/#etcd"&gt;etcd&lt;/a&gt;, послідовне і високо доступне сховище ключ-значення, яке використовується як основне сховище для всіх даних кластера Kubernetes — це опис саме по собі підкреслює критичну роль, яку відіграє etcd, і його важливість в екосистемі Kubernetes.&lt;/p&gt;</description></item><item><title>Керівництво з сортування тікетів</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/triage/issues/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/triage/issues/</guid><description>&lt;h2 id="purpose"&gt;Мета&lt;a class="td-heading-self-link" href="#purpose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Прискорити управління тікетів.&lt;/p&gt;
&lt;p&gt;Тікети &lt;code&gt;etcd&lt;/code&gt; знаходяться у &lt;a href="https://github.com/etcd-io/etcd/issues"&gt;https://github.com/etcd-io/etcd/issues&lt;/a&gt; і позначені мітками. Наприклад, тікет, що сповіщає про помилку, зрештою буде позначено міткою &lt;code&gt;area/bug&lt;/code&gt;. Нові тікети створюються без міток, але зазвичай підтримувачі &lt;code&gt;etcd&lt;/code&gt; та активні учасники додають мітки на основі своїх висновків. Детальний список міток можна знайти на &lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Нижче наведено кілька попередньо визначених пошуків проблем для зручності:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/area%2Fbug"&gt;Помилки&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/Help%20Wanted"&gt;Потрібна допомога&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/issues?utf8=%E2%9C%93&amp;q=is%3Aopen+sort%3Aupdated-asc+"&gt;Найдовші нерозібрані тікети&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcd.io/community/#community-meetings"&gt;Зустріч з розбору тікетів&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Обсяг дії&lt;a class="td-heading-self-link" href="#scope" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ці керівні принципи служать основним документом для розбору вхідних тікетів у &lt;code&gt;etcd&lt;/code&gt;. Усі можуть допомагати в управлінні тікетами та PR, але робота та обовʼязки, описані в цьому документі, створені з урахуванням підтримувачів &lt;code&gt;etcd&lt;/code&gt; та активних учасників.&lt;/p&gt;</description></item><item><title>Керівництво з сортування тікетів</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/triage/issues/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/triage/issues/</guid><description>&lt;h2 id="purpose"&gt;Мета&lt;a class="td-heading-self-link" href="#purpose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Покращити управління тікетами.&lt;/p&gt;
&lt;p&gt;Тікети &lt;code&gt;etcd&lt;/code&gt; знаходяться у &lt;a href="https://github.com/etcd-io/etcd/issues"&gt;https://github.com/etcd-io/etcd/issues&lt;/a&gt; і позначені мітками. Наприклад, тікет, що сповіщає про помилку, зрештою буде позначено міткою &lt;code&gt;area/bug&lt;/code&gt;. Нові тікети створюються без міток, але зазвичай підтримувачі &lt;code&gt;etcd&lt;/code&gt; та активні учасники додають мітки на основі своїх висновків. Детальний список міток можна знайти на &lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Нижче наведено кілька попередньо визначених пошуків тікетів для зручності:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/area%2Fbug"&gt;Помилки&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/Help%20Wanted"&gt;Потрібна допомога&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/issues?utf8=%E2%9C%93&amp;q=is%3Aopen+sort%3Aupdated-asc+"&gt;Найдовші нерозібрані тікети&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcd.io/community/#community-meetings"&gt;Зустріч з розбору тікетів&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Обсяг дії&lt;a class="td-heading-self-link" href="#scope" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ці керівні принципи служать основним документом для розбору вхідних тікетів у &lt;code&gt;etcd&lt;/code&gt;. Усі можуть допомагати в управлінні тікетами та PR, але робота та обовʼязки, описані в цьому документі, створені з урахуванням підтримувачів &lt;code&gt;etcd&lt;/code&gt; та активних учасників.&lt;/p&gt;</description></item><item><title>Керівництво з сортування тікетів</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/triage/issues/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/triage/issues/</guid><description>&lt;h2 id="purpose"&gt;Мета&lt;a class="td-heading-self-link" href="#purpose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Покращити управління тікетами.&lt;/p&gt;
&lt;p&gt;Тікети &lt;code&gt;etcd&lt;/code&gt; знаходяться у &lt;a href="https://github.com/etcd-io/etcd/issues"&gt;https://github.com/etcd-io/etcd/issues&lt;/a&gt; і позначені мітками. Наприклад, тікет, що сповіщає про помилку, зрештою буде позначено міткою &lt;code&gt;area/bug&lt;/code&gt;. Нові тікети створюються без міток, але зазвичай підтримувачі &lt;code&gt;etcd&lt;/code&gt; та активні учасники додають мітки на основі своїх висновків. Детальний список міток можна знайти на &lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Нижче наведено кілька попередньо визначених пошуків тікетів для зручності:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/area%2Fbug"&gt;Помилки&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/Help%20Wanted"&gt;Потрібна допомога&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/issues?utf8=%E2%9C%93&amp;q=is%3Aopen+sort%3Aupdated-asc+"&gt;Найдовші нерозібрані тікети&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcd.io/community/#community-meetings"&gt;Зустріч з розбору тікетів&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Обсяг дії&lt;a class="td-heading-self-link" href="#scope" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ці керівні принципи служать основним документом для розбору вхідних тікетів у &lt;code&gt;etcd&lt;/code&gt;. Усі можуть допомагати в управлінні тікетами та PR, але робота та обовʼязки, описані в цьому документі, створені з урахуванням підтримувачів &lt;code&gt;etcd&lt;/code&gt; та активних учасників.&lt;/p&gt;</description></item><item><title>Керівництво з сортування тікетів</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/triage/issues/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/triage/issues/</guid><description>&lt;h2 id="purpose"&gt;Мета&lt;a class="td-heading-self-link" href="#purpose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Покращити управління тікетами.&lt;/p&gt;
&lt;p&gt;Тікети &lt;code&gt;etcd&lt;/code&gt; знаходяться у &lt;a href="https://github.com/etcd-io/etcd/issues"&gt;https://github.com/etcd-io/etcd/issues&lt;/a&gt; і позначені мітками. Наприклад, тікет, що сповіщає про помилку, зрештою буде позначено міткою &lt;code&gt;area/bug&lt;/code&gt;. Нові тікети створюються без міток, але зазвичай підтримувачі &lt;code&gt;etcd&lt;/code&gt; та активні учасники додають мітки на основі своїх висновків. Детальний список міток можна знайти на &lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Нижче наведено кілька попередньо визначених пошуків тікетів для зручності:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/area%2Fbug"&gt;Помилки&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/Help%20Wanted"&gt;Потрібна допомога&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/issues?utf8=%E2%9C%93&amp;q=is%3Aopen+sort%3Aupdated-asc+"&gt;Найдовші нерозібрані тікети&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://etcd.io/community/#community-meetings"&gt;Зустріч з розбору тікетів&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Обсяг дії&lt;a class="td-heading-self-link" href="#scope" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ці керівні принципи служать основним документом для розбору вхідних тікетів у &lt;code&gt;etcd&lt;/code&gt;. Усі можуть допомагати в управлінні тікетами та PR, але робота та обовʼязки, описані в цьому документі, створені з урахуванням підтримувачів &lt;code&gt;etcd&lt;/code&gt; та активних учасників.&lt;/p&gt;</description></item><item><title>latest</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/metrics/etcd-metrics-latest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/metrics/etcd-metrics-latest/</guid><description/></item><item><title>latest</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/metrics/etcd-metrics-latest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/metrics/etcd-metrics-latest/</guid><description/></item><item><title>latest</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/metrics/etcd-metrics-latest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/metrics/etcd-metrics-latest/</guid><description/></item><item><title>latest</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/metrics/etcd-metrics-latest/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/metrics/etcd-metrics-latest/</guid><description/></item><item><title>Автентифікація</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/authentication/authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/op-guide/authentication/authentication/</guid><description>&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;role&lt;/code&gt; для автентифікації:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# тепер всі клієнтські запити проходять через автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# доступ заборонено, імʼя користувача порожнє, оскільки запит не містить автентифікаційного запиту&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 може читати ключ foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="note"&gt;Примітка:&lt;a class="td-heading-self-link" href="#note" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Це лише шаблон, який потрібно заповнити та оновити додатковою інформацією про аутентифікацію. Текст вище — це лише приклад коду.&lt;/p&gt;</description></item><item><title>Автентифікація</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/authentication/authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/op-guide/authentication/authentication/</guid><description>&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;role&lt;/code&gt; для автентифікації:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# тепер всі клієнтські запити проходять через автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# доступ заборонено, імʼя користувача порожнє, оскільки запит не містить автентифікаційного запиту&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 може читати ключ foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="note"&gt;Примітка:&lt;a class="td-heading-self-link" href="#note" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Це лише шаблон, який потрібно заповнити та оновити додатковою інформацією про аутентифікацію. Текст вище — це лише приклад коду.&lt;/p&gt;</description></item><item><title>Автентифікація</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/authentication/authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/op-guide/authentication/authentication/</guid><description>&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;role&lt;/code&gt; для автентифікації:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# тепер всі клієнтські запити проходять через автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# доступ заборонено, імʼя користувача порожнє, оскільки запит не містить автентифікаційного запиту&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 може читати ключ foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="note"&gt;Примітка:&lt;a class="td-heading-self-link" href="#note" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Це лише шаблон, який потрібно заповнити та оновити додатковою інформацією про аутентифікацію. Текст вище — це лише приклад коду.&lt;/p&gt;</description></item><item><title>Автентифікація</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/authentication/authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/op-guide/authentication/authentication/</guid><description>&lt;p&gt;&lt;code&gt;auth&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;role&lt;/code&gt; для автентифікації:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ETCDCTL_API&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;localhost:2379
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role root root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user get root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role add role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; role grant-permission role0 readwrite foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user add user0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; user grant-role user0 role0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; auth &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# тепер всі клієнтські запити проходять через автентифікацію&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 put foo bar
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# доступ заборонено, імʼя користувача порожнє, оскільки запит не містить автентифікаційного запиту&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# user0 може читати ключ foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;etcdctl --endpoints&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENDPOINTS&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --user&lt;span class="o"&gt;=&lt;/span&gt;user0:123 get foo1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="note"&gt;Примітка:&lt;a class="td-heading-self-link" href="#note" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Це лише шаблон, який потрібно заповнити та оновити додатковою інформацією про аутентифікацію. Текст вище — це лише приклад коду.&lt;/p&gt;</description></item><item><title>Довідник API</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/api_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/api_reference_v3/</guid><description>&lt;p&gt;Ця довідник API автоматично згенерована з вказаних файлів &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;
&lt;h5 id="service-auth-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Auth&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-auth-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthEnable&lt;/td&gt;
 &lt;td&gt;AuthEnableRequest&lt;/td&gt;
 &lt;td&gt;AuthEnableResponse&lt;/td&gt;
 &lt;td&gt;AuthEnable вмикає автентифікацію.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthDisable&lt;/td&gt;
 &lt;td&gt;AuthDisableRequest&lt;/td&gt;
 &lt;td&gt;AuthDisableResponse&lt;/td&gt;
 &lt;td&gt;AuthDisable вимикає автентифікацію.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthStatus&lt;/td&gt;
 &lt;td&gt;AuthStatusRequest&lt;/td&gt;
 &lt;td&gt;AuthStatusResponse&lt;/td&gt;
 &lt;td&gt;AuthStatus показує статус автентифікації.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Authenticate&lt;/td&gt;
 &lt;td&gt;AuthenticateRequest&lt;/td&gt;
 &lt;td&gt;AuthenticateResponse&lt;/td&gt;
 &lt;td&gt;Authenticate обробляє запит автентифікації.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserAdd&lt;/td&gt;
 &lt;td&gt;AuthUserAddRequest&lt;/td&gt;
 &lt;td&gt;AuthUserAddResponse&lt;/td&gt;
 &lt;td&gt;UserAdd додає нового користувача. Імʼя користувача не може бути порожнім.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserGet&lt;/td&gt;
 &lt;td&gt;AuthUserGetRequest&lt;/td&gt;
 &lt;td&gt;AuthUserGetResponse&lt;/td&gt;
 &lt;td&gt;UserGet отримує детальну інформацію про користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserList&lt;/td&gt;
 &lt;td&gt;AuthUserListRequest&lt;/td&gt;
 &lt;td&gt;AuthUserListResponse&lt;/td&gt;
 &lt;td&gt;UserList отримує список всіх користувачів.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserDelete&lt;/td&gt;
 &lt;td&gt;AuthUserDeleteRequest&lt;/td&gt;
 &lt;td&gt;AuthUserDeleteResponse&lt;/td&gt;
 &lt;td&gt;UserDelete видаляє вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserChangePassword&lt;/td&gt;
 &lt;td&gt;AuthUserChangePasswordRequest&lt;/td&gt;
 &lt;td&gt;AuthUserChangePasswordResponse&lt;/td&gt;
 &lt;td&gt;UserChangePassword змінює пароль вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserGrantRole&lt;/td&gt;
 &lt;td&gt;AuthUserGrantRoleRequest&lt;/td&gt;
 &lt;td&gt;AuthUserGrantRoleResponse&lt;/td&gt;
 &lt;td&gt;UserGrant надає роль вказаному користувачу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserRevokeRole&lt;/td&gt;
 &lt;td&gt;AuthUserRevokeRoleRequest&lt;/td&gt;
 &lt;td&gt;AuthUserRevokeRoleResponse&lt;/td&gt;
 &lt;td&gt;UserRevokeRole відкликає роль вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleAdd&lt;/td&gt;
 &lt;td&gt;AuthRoleAddRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleAddResponse&lt;/td&gt;
 &lt;td&gt;RoleAdd додає нову роль. Імʼя ролі не може бути порожнім.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleGet&lt;/td&gt;
 &lt;td&gt;AuthRoleGetRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleGetResponse&lt;/td&gt;
 &lt;td&gt;RoleGet отримує детальну інформацію про роль.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleList&lt;/td&gt;
 &lt;td&gt;AuthRoleListRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleListResponse&lt;/td&gt;
 &lt;td&gt;RoleList отримує список всіх ролей.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleDelete&lt;/td&gt;
 &lt;td&gt;AuthRoleDeleteRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleDeleteResponse&lt;/td&gt;
 &lt;td&gt;RoleDelete видаляє вказану роль.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleGrantPermission&lt;/td&gt;
 &lt;td&gt;AuthRoleGrantPermissionRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleGrantPermissionResponse&lt;/td&gt;
 &lt;td&gt;RoleGrantPermission надає дозвіл на вказаний ключ або діапазон вказаній ролі.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleRevokePermission&lt;/td&gt;
 &lt;td&gt;AuthRoleRevokePermissionRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleRevokePermissionResponse&lt;/td&gt;
 &lt;td&gt;RoleRevokePermission відкликає дозвіл на ключ або діапазон вказаної ролі.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-cluster-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Cluster&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-cluster-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberAdd&lt;/td&gt;
 &lt;td&gt;MemberAddRequest&lt;/td&gt;
 &lt;td&gt;MemberAddResponse&lt;/td&gt;
 &lt;td&gt;MemberAdd додає учасника до кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberRemove&lt;/td&gt;
 &lt;td&gt;MemberRemoveRequest&lt;/td&gt;
 &lt;td&gt;MemberRemoveResponse&lt;/td&gt;
 &lt;td&gt;MemberRemove видаляє існуючого учасника з кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberUpdate&lt;/td&gt;
 &lt;td&gt;MemberUpdateRequest&lt;/td&gt;
 &lt;td&gt;MemberUpdateResponse&lt;/td&gt;
 &lt;td&gt;MemberUpdate оновлює конфігурацію учасника.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberList&lt;/td&gt;
 &lt;td&gt;MemberListRequest&lt;/td&gt;
 &lt;td&gt;MemberListResponse&lt;/td&gt;
 &lt;td&gt;MemberList показує всіх учасників кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberPromote&lt;/td&gt;
 &lt;td&gt;MemberPromoteRequest&lt;/td&gt;
 &lt;td&gt;MemberPromoteResponse&lt;/td&gt;
 &lt;td&gt;MemberPromote підвищує учасника з raft learner (без права голосу) до raft учасника з правом голосу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-kv-apietcdserverpbrpcproto"&gt;service &lt;code&gt;KV&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-kv-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Range&lt;/td&gt;
 &lt;td&gt;RangeRequest&lt;/td&gt;
 &lt;td&gt;RangeResponse&lt;/td&gt;
 &lt;td&gt;Range отримує ключі в діапазоні з сховища ключ-значення.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Put&lt;/td&gt;
 &lt;td&gt;PutRequest&lt;/td&gt;
 &lt;td&gt;PutResponse&lt;/td&gt;
 &lt;td&gt;Put вставляє вказаний ключ у сховище ключ-значення. Запит на вставку збільшує ревізію сховища ключ-значення і генерує одну подію в історії подій.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DeleteRange&lt;/td&gt;
 &lt;td&gt;DeleteRangeRequest&lt;/td&gt;
 &lt;td&gt;DeleteRangeResponse&lt;/td&gt;
 &lt;td&gt;DeleteRange видаляє вказаний діапазон зі сховища ключ-значення. Запит на видалення збільшує ревізію сховища ключ-значення і генерує подію видалення в історії подій для кожного видаленого ключа.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Txn&lt;/td&gt;
 &lt;td&gt;TxnRequest&lt;/td&gt;
 &lt;td&gt;TxnResponse&lt;/td&gt;
 &lt;td&gt;Txn обробляє кілька запитів в одній транзакції. Запит на транзакцію збільшує ревізію сховища ключ-значення і генерує події з тією ж ревізією для кожного завершеного запиту. Не дозволяється змінювати один і той самий ключ кілька разів в одній транзакції.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Compact&lt;/td&gt;
 &lt;td&gt;CompactionRequest&lt;/td&gt;
 &lt;td&gt;CompactionResponse&lt;/td&gt;
 &lt;td&gt;Compact стискає історію подій у сховищі ключ-значення etcd. Сховище ключ-значення повинно періодично стискатися, інакше історія подій буде рости нескінченно.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-lease-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Lease&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-lease-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseGrant&lt;/td&gt;
 &lt;td&gt;LeaseGrantRequest&lt;/td&gt;
 &lt;td&gt;LeaseGrantResponse&lt;/td&gt;
 &lt;td&gt;LeaseGrant створює лізинг, який закінчується, якщо сервер не отримує keepAlive протягом заданого періоду часу. Всі ключі, прикріплені до лізингу, будуть видалені після закінчення терміну дії лізингу. Кожен видалений ключ генерує подію видалення в історії подій.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseRevoke&lt;/td&gt;
 &lt;td&gt;LeaseRevokeRequest&lt;/td&gt;
 &lt;td&gt;LeaseRevokeResponse&lt;/td&gt;
 &lt;td&gt;LeaseRevoke відкликає лізинг. Всі ключі, прикріплені до лізингу, будуть видалені.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseKeepAlive&lt;/td&gt;
 &lt;td&gt;LeaseKeepAliveRequest&lt;/td&gt;
 &lt;td&gt;LeaseKeepAliveResponse&lt;/td&gt;
 &lt;td&gt;LeaseKeepAlive підтримує лізинг активним, передаючи запити keep alive від клієнта до сервера і відповіді keep alive від сервера до клієнта.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseTimeToLive&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLiveRequest&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLiveResponse&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLive отримує інформацію про лізинг.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseLeases&lt;/td&gt;
 &lt;td&gt;LeaseLeasesRequest&lt;/td&gt;
 &lt;td&gt;LeaseLeasesResponse&lt;/td&gt;
 &lt;td&gt;LeaseLeases показує всі існуючі лізинги.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-maintenance-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Maintenance&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-maintenance-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Alarm&lt;/td&gt;
 &lt;td&gt;AlarmRequest&lt;/td&gt;
 &lt;td&gt;AlarmResponse&lt;/td&gt;
 &lt;td&gt;Alarm активує, деактивує та запитує тривоги щодо справності кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Status&lt;/td&gt;
 &lt;td&gt;StatusRequest&lt;/td&gt;
 &lt;td&gt;StatusResponse&lt;/td&gt;
 &lt;td&gt;Status отримує статус учасника.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Defragment&lt;/td&gt;
 &lt;td&gt;DefragmentRequest&lt;/td&gt;
 &lt;td&gt;DefragmentResponse&lt;/td&gt;
 &lt;td&gt;Defragment дефрагментує бекенд бази даних учасника для відновлення місця для зберігання.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Hash&lt;/td&gt;
 &lt;td&gt;HashRequest&lt;/td&gt;
 &lt;td&gt;HashResponse&lt;/td&gt;
 &lt;td&gt;Hash обчислює хеш всього бекенду ключового простору, включаючи ключі, лізинги та інші сегменти в сховищі. Це призначено ТІЛЬКИ для тестування! Не покладайтеся на це у промисловій експлуатації з поточними транзакціями, оскільки операція Hash не утримує блокування MVCC. Використовуйте API &amp;ldquo;HashKV&amp;rdquo; замість цього для перевірки узгодженості сегмента &amp;ldquo;ключ&amp;rdquo;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;HashKV&lt;/td&gt;
 &lt;td&gt;HashKVRequest&lt;/td&gt;
 &lt;td&gt;HashKVResponse&lt;/td&gt;
 &lt;td&gt;HashKV обчислює хеш всіх ключів MVCC до вказаної ревізії. Він ітерує тільки сегмент &amp;ldquo;ключ&amp;rdquo; в бекенді сховища.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Snapshot&lt;/td&gt;
 &lt;td&gt;SnapshotRequest&lt;/td&gt;
 &lt;td&gt;SnapshotResponse&lt;/td&gt;
 &lt;td&gt;Snapshot надсилає знімок всього бекенду від учасника через потік до клієнта.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MoveLeader&lt;/td&gt;
 &lt;td&gt;MoveLeaderRequest&lt;/td&gt;
 &lt;td&gt;MoveLeaderResponse&lt;/td&gt;
 &lt;td&gt;MoveLeader запитує поточного лідера вузла передати своє лідерство іншому вузлу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Downgrade&lt;/td&gt;
 &lt;td&gt;DowngradeRequest&lt;/td&gt;
 &lt;td&gt;DowngradeResponse&lt;/td&gt;
 &lt;td&gt;Downgrade запитує зниження, перевіряє можливість або скасовує зниження версії кластера. Підтримується з версії etcd 3.5.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-watch-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Watch&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-watch-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Watch&lt;/td&gt;
 &lt;td&gt;WatchRequest&lt;/td&gt;
 &lt;td&gt;WatchResponse&lt;/td&gt;
 &lt;td&gt;Watch спостерігає за подіями, що відбуваються або вже відбулися. Вхідний і вихідний потоки; вхідний потік створює і скасовує спостерігачів, а вихідний потік надсилає події. Один запит на спостереження може спостерігати за кількома діапазонами ключів, передаючи події для кількох спостережень одночасно. Вся історія подій може бути переглянута, починаючи з останньої ревізії стиснення.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmmember-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmMember&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmmember-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;memberID&lt;/td&gt;
 &lt;td&gt;memberID - це ID учасника, повʼязаного з піднятою тривогою.&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarm&lt;/td&gt;
 &lt;td&gt;alarm - це тип тривоги, яка була піднята.&lt;/td&gt;
 &lt;td&gt;AlarmType&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;action&lt;/td&gt;
 &lt;td&gt;action - це тип запиту на тривогу. Дія може бути GET для отримання статусів тривог, ACTIVATE для активації тривоги або DEACTIVATE для деактивації піднятої тривоги.&lt;/td&gt;
 &lt;td&gt;AlarmAction&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;memberID&lt;/td&gt;
 &lt;td&gt;memberID - це ID учасника, повʼязаного з тривогою. Якщо memberID дорівнює 0, запит на тривогу охоплює всіх учасників.&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarm&lt;/td&gt;
 &lt;td&gt;alarm - це тип тривоги, яку слід розглянути для цього запиту.&lt;/td&gt;
 &lt;td&gt;AlarmType&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarms&lt;/td&gt;
 &lt;td&gt;alarms - це список тривог, повʼязаних із запитом на тривогу.&lt;/td&gt;
 &lt;td&gt;(slice of) AlarmMember&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authdisablerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthDisableRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authdisablerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Порожнє поле.&lt;/p&gt;</description></item><item><title>Довідник API</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/api_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/api_reference_v3/</guid><description>&lt;p&gt;Ця довідник API автоматично згенерована з вказаних файлів &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;
&lt;h5 id="service-auth-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Auth&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-auth-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthEnable&lt;/td&gt;
 &lt;td&gt;AuthEnableRequest&lt;/td&gt;
 &lt;td&gt;AuthEnableResponse&lt;/td&gt;
 &lt;td&gt;AuthEnable вмикає автентифікацію.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthDisable&lt;/td&gt;
 &lt;td&gt;AuthDisableRequest&lt;/td&gt;
 &lt;td&gt;AuthDisableResponse&lt;/td&gt;
 &lt;td&gt;AuthDisable вимикає автентифікацію.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthStatus&lt;/td&gt;
 &lt;td&gt;AuthStatusRequest&lt;/td&gt;
 &lt;td&gt;AuthStatusResponse&lt;/td&gt;
 &lt;td&gt;AuthStatus показує статус автентифікації.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Authenticate&lt;/td&gt;
 &lt;td&gt;AuthenticateRequest&lt;/td&gt;
 &lt;td&gt;AuthenticateResponse&lt;/td&gt;
 &lt;td&gt;Authenticate обробляє запит автентифікації.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserAdd&lt;/td&gt;
 &lt;td&gt;AuthUserAddRequest&lt;/td&gt;
 &lt;td&gt;AuthUserAddResponse&lt;/td&gt;
 &lt;td&gt;UserAdd додає нового користувача. Імʼя користувача не може бути порожнім.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserGet&lt;/td&gt;
 &lt;td&gt;AuthUserGetRequest&lt;/td&gt;
 &lt;td&gt;AuthUserGetResponse&lt;/td&gt;
 &lt;td&gt;UserGet отримує детальну інформацію про користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserList&lt;/td&gt;
 &lt;td&gt;AuthUserListRequest&lt;/td&gt;
 &lt;td&gt;AuthUserListResponse&lt;/td&gt;
 &lt;td&gt;UserList отримує список всіх користувачів.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserDelete&lt;/td&gt;
 &lt;td&gt;AuthUserDeleteRequest&lt;/td&gt;
 &lt;td&gt;AuthUserDeleteResponse&lt;/td&gt;
 &lt;td&gt;UserDelete видаляє вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserChangePassword&lt;/td&gt;
 &lt;td&gt;AuthUserChangePasswordRequest&lt;/td&gt;
 &lt;td&gt;AuthUserChangePasswordResponse&lt;/td&gt;
 &lt;td&gt;UserChangePassword змінює пароль вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserGrantRole&lt;/td&gt;
 &lt;td&gt;AuthUserGrantRoleRequest&lt;/td&gt;
 &lt;td&gt;AuthUserGrantRoleResponse&lt;/td&gt;
 &lt;td&gt;UserGrant надає роль вказаному користувачу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserRevokeRole&lt;/td&gt;
 &lt;td&gt;AuthUserRevokeRoleRequest&lt;/td&gt;
 &lt;td&gt;AuthUserRevokeRoleResponse&lt;/td&gt;
 &lt;td&gt;UserRevokeRole відкликає роль вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleAdd&lt;/td&gt;
 &lt;td&gt;AuthRoleAddRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleAddResponse&lt;/td&gt;
 &lt;td&gt;RoleAdd додає нову роль. Імʼя ролі не може бути порожнім.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleGet&lt;/td&gt;
 &lt;td&gt;AuthRoleGetRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleGetResponse&lt;/td&gt;
 &lt;td&gt;RoleGet отримує детальну інформацію про роль.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleList&lt;/td&gt;
 &lt;td&gt;AuthRoleListRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleListResponse&lt;/td&gt;
 &lt;td&gt;RoleList отримує список всіх ролей.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleDelete&lt;/td&gt;
 &lt;td&gt;AuthRoleDeleteRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleDeleteResponse&lt;/td&gt;
 &lt;td&gt;RoleDelete видаляє вказану роль.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleGrantPermission&lt;/td&gt;
 &lt;td&gt;AuthRoleGrantPermissionRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleGrantPermissionResponse&lt;/td&gt;
 &lt;td&gt;RoleGrantPermission надає дозвіл на вказаний ключ або діапазон вказаній ролі.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleRevokePermission&lt;/td&gt;
 &lt;td&gt;AuthRoleRevokePermissionRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleRevokePermissionResponse&lt;/td&gt;
 &lt;td&gt;RoleRevokePermission відкликає дозвіл на ключ або діапазон вказаної ролі.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-cluster-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Cluster&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-cluster-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberAdd&lt;/td&gt;
 &lt;td&gt;MemberAddRequest&lt;/td&gt;
 &lt;td&gt;MemberAddResponse&lt;/td&gt;
 &lt;td&gt;MemberAdd додає учасника до кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberRemove&lt;/td&gt;
 &lt;td&gt;MemberRemoveRequest&lt;/td&gt;
 &lt;td&gt;MemberRemoveResponse&lt;/td&gt;
 &lt;td&gt;MemberRemove видаляє існуючого учасника з кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberUpdate&lt;/td&gt;
 &lt;td&gt;MemberUpdateRequest&lt;/td&gt;
 &lt;td&gt;MemberUpdateResponse&lt;/td&gt;
 &lt;td&gt;MemberUpdate оновлює конфігурацію учасника.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberList&lt;/td&gt;
 &lt;td&gt;MemberListRequest&lt;/td&gt;
 &lt;td&gt;MemberListResponse&lt;/td&gt;
 &lt;td&gt;MemberList показує всіх учасників кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberPromote&lt;/td&gt;
 &lt;td&gt;MemberPromoteRequest&lt;/td&gt;
 &lt;td&gt;MemberPromoteResponse&lt;/td&gt;
 &lt;td&gt;MemberPromote підвищує учасника з raft learner (без права голосу) до raft учасника з правом голосу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-kv-apietcdserverpbrpcproto"&gt;service &lt;code&gt;KV&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-kv-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Range&lt;/td&gt;
 &lt;td&gt;RangeRequest&lt;/td&gt;
 &lt;td&gt;RangeResponse&lt;/td&gt;
 &lt;td&gt;Range отримує ключі в діапазоні з сховища ключ-значення.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Put&lt;/td&gt;
 &lt;td&gt;PutRequest&lt;/td&gt;
 &lt;td&gt;PutResponse&lt;/td&gt;
 &lt;td&gt;Put вставляє вказаний ключ у сховище ключ-значення. Запит на вставку збільшує ревізію сховища ключ-значення і генерує одну подію в історії подій.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DeleteRange&lt;/td&gt;
 &lt;td&gt;DeleteRangeRequest&lt;/td&gt;
 &lt;td&gt;DeleteRangeResponse&lt;/td&gt;
 &lt;td&gt;DeleteRange видаляє вказаний діапазон зі сховища ключ-значення. Запит на видалення збільшує ревізію сховища ключ-значення і генерує подію видалення в історії подій для кожного видаленого ключа.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Txn&lt;/td&gt;
 &lt;td&gt;TxnRequest&lt;/td&gt;
 &lt;td&gt;TxnResponse&lt;/td&gt;
 &lt;td&gt;Txn обробляє кілька запитів в одній транзакції. Запит на транзакцію збільшує ревізію сховища ключ-значення і генерує події з тією ж ревізією для кожного завершеного запиту. Не дозволяється змінювати один і той самий ключ кілька разів в одній транзакції.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Compact&lt;/td&gt;
 &lt;td&gt;CompactionRequest&lt;/td&gt;
 &lt;td&gt;CompactionResponse&lt;/td&gt;
 &lt;td&gt;Compact стискає історію подій у сховищі ключ-значення etcd. Сховище ключ-значення повинно періодично стискатися, інакше історія подій буде рости нескінченно.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-lease-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Lease&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-lease-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseGrant&lt;/td&gt;
 &lt;td&gt;LeaseGrantRequest&lt;/td&gt;
 &lt;td&gt;LeaseGrantResponse&lt;/td&gt;
 &lt;td&gt;LeaseGrant створює лізинг, який закінчується, якщо сервер не отримує keepAlive протягом заданого періоду часу. Всі ключі, прикріплені до лізингу, будуть видалені після закінчення терміну дії лізингу. Кожен видалений ключ генерує подію видалення в історії подій.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseRevoke&lt;/td&gt;
 &lt;td&gt;LeaseRevokeRequest&lt;/td&gt;
 &lt;td&gt;LeaseRevokeResponse&lt;/td&gt;
 &lt;td&gt;LeaseRevoke відкликає лізинг. Всі ключі, прикріплені до лізингу, будуть видалені.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseKeepAlive&lt;/td&gt;
 &lt;td&gt;LeaseKeepAliveRequest&lt;/td&gt;
 &lt;td&gt;LeaseKeepAliveResponse&lt;/td&gt;
 &lt;td&gt;LeaseKeepAlive підтримує лізинг активним, передаючи запити keep alive від клієнта до сервера і відповіді keep alive від сервера до клієнта.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseTimeToLive&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLiveRequest&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLiveResponse&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLive отримує інформацію про лізинг.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseLeases&lt;/td&gt;
 &lt;td&gt;LeaseLeasesRequest&lt;/td&gt;
 &lt;td&gt;LeaseLeasesResponse&lt;/td&gt;
 &lt;td&gt;LeaseLeases показує всі існуючі лізинги.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-maintenance-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Maintenance&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-maintenance-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Alarm&lt;/td&gt;
 &lt;td&gt;AlarmRequest&lt;/td&gt;
 &lt;td&gt;AlarmResponse&lt;/td&gt;
 &lt;td&gt;Alarm активує, деактивує та запитує тривоги щодо справності кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Status&lt;/td&gt;
 &lt;td&gt;StatusRequest&lt;/td&gt;
 &lt;td&gt;StatusResponse&lt;/td&gt;
 &lt;td&gt;Status отримує статус учасника.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Defragment&lt;/td&gt;
 &lt;td&gt;DefragmentRequest&lt;/td&gt;
 &lt;td&gt;DefragmentResponse&lt;/td&gt;
 &lt;td&gt;Defragment дефрагментує бекенд бази даних учасника для відновлення місця для зберігання.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Hash&lt;/td&gt;
 &lt;td&gt;HashRequest&lt;/td&gt;
 &lt;td&gt;HashResponse&lt;/td&gt;
 &lt;td&gt;Hash обчислює хеш всього бекенду ключового простору, включаючи ключі, лізинги та інші сегменти в сховищі. Це призначено ТІЛЬКИ для тестування! Не покладайтеся на це у промисловій експлуатації з поточними транзакціями, оскільки операція Hash не утримує блокування MVCC. Використовуйте API &amp;ldquo;HashKV&amp;rdquo; замість цього для перевірки узгодженості сегмента &amp;ldquo;ключ&amp;rdquo;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;HashKV&lt;/td&gt;
 &lt;td&gt;HashKVRequest&lt;/td&gt;
 &lt;td&gt;HashKVResponse&lt;/td&gt;
 &lt;td&gt;HashKV обчислює хеш всіх ключів MVCC до вказаної ревізії. Він ітерує тільки сегмент &amp;ldquo;ключ&amp;rdquo; в бекенді сховища.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Snapshot&lt;/td&gt;
 &lt;td&gt;SnapshotRequest&lt;/td&gt;
 &lt;td&gt;SnapshotResponse&lt;/td&gt;
 &lt;td&gt;Snapshot надсилає знімок всього бекенду від учасника через потік до клієнта.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MoveLeader&lt;/td&gt;
 &lt;td&gt;MoveLeaderRequest&lt;/td&gt;
 &lt;td&gt;MoveLeaderResponse&lt;/td&gt;
 &lt;td&gt;MoveLeader запитує поточного лідера вузла передати своє лідерство іншому вузлу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Downgrade&lt;/td&gt;
 &lt;td&gt;DowngradeRequest&lt;/td&gt;
 &lt;td&gt;DowngradeResponse&lt;/td&gt;
 &lt;td&gt;Downgrade запитує зниження, перевіряє можливість або скасовує зниження версії кластера. Підтримується з версії etcd 3.5.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-watch-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Watch&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-watch-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Watch&lt;/td&gt;
 &lt;td&gt;WatchRequest&lt;/td&gt;
 &lt;td&gt;WatchResponse&lt;/td&gt;
 &lt;td&gt;Watch спостерігає за подіями, що відбуваються або вже відбулися. Вхідний і вихідний потоки; вхідний потік створює і скасовує спостерігачів, а вихідний потік надсилає події. Один запит на спостереження може спостерігати за кількома діапазонами ключів, передаючи події для кількох спостережень одночасно. Вся історія подій може бути переглянута, починаючи з останньої ревізії стиснення.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmmember-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmMember&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmmember-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;memberID&lt;/td&gt;
 &lt;td&gt;memberID - це ID учасника, повʼязаного з піднятою тривогою.&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarm&lt;/td&gt;
 &lt;td&gt;alarm - це тип тривоги, яка була піднята.&lt;/td&gt;
 &lt;td&gt;AlarmType&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;action&lt;/td&gt;
 &lt;td&gt;action - це тип запиту на тривогу. Дія може бути GET для отримання статусів тривог, ACTIVATE для активації тривоги або DEACTIVATE для деактивації піднятої тривоги.&lt;/td&gt;
 &lt;td&gt;AlarmAction&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;memberID&lt;/td&gt;
 &lt;td&gt;memberID - це ID учасника, повʼязаного з тривогою. Якщо memberID дорівнює 0, запит на тривогу охоплює всіх учасників.&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarm&lt;/td&gt;
 &lt;td&gt;alarm - це тип тривоги, яку слід розглянути для цього запиту.&lt;/td&gt;
 &lt;td&gt;AlarmType&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarms&lt;/td&gt;
 &lt;td&gt;alarms - це список тривог, повʼязаних із запитом на тривогу.&lt;/td&gt;
 &lt;td&gt;(slice of) AlarmMember&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authdisablerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthDisableRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authdisablerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authdisableresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthDisableResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authdisableresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenablerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthEnableRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenablerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenableresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthEnableResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenableresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroleaddrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleAddRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroleaddrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя ролі, яку потрібно додати до системи автентифікації.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroleaddresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleAddResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroleaddresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroledeleterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleDeleteRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroledeleterequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroledeleteresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleDeleteResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroledeleteresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegetrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGetRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegetrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegetresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGetResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegetresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;perm&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) authpb.Permission&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegrantpermissionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGrantPermissionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegrantpermissionrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя ролі, якій буде надано дозвіл.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;perm&lt;/td&gt;
 &lt;td&gt;perm - це дозвіл, який буде надано ролі.&lt;/td&gt;
 &lt;td&gt;authpb.Permission&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegrantpermissionresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGrantPermissionResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegrantpermissionresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolelistrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleListRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolelistrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolelistresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleListResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolelistresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;roles&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolerevokepermissionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleRevokePermissionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolerevokepermissionrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;range_end&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolerevokepermissionresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleRevokePermissionResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolerevokepermissionresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authstatusrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthStatusRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authstatusrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authstatusresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthStatusResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authstatusresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;enabled&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;authRevision&lt;/td&gt;
 &lt;td&gt;authRevision - це поточна ревізія сховища автентифікації&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuseraddrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserAddRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuseraddrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;password&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;options&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;authpb.UserAddOptions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hashedPassword&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuseraddresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserAddResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuseraddresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserchangepasswordrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserChangePasswordRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserchangepasswordrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя користувача, пароль якого змінюється.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;password&lt;/td&gt;
 &lt;td&gt;password - це новий пароль для користувача. Зверніть увагу, що це поле буде видалено на рівні API.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hashedPassword&lt;/td&gt;
 &lt;td&gt;hashedPassword - це новий пароль для користувача. Зверніть увагу, що це поле буде ініціалізовано на рівні API.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserchangepasswordresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserChangePasswordResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserchangepasswordresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserdeleterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserDeleteRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserdeleterequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя користувача, якого потрібно видалити.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserdeleteresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserDeleteResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserdeleteresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergetrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGetRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergetrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergetresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGetResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergetresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;roles&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergrantrolerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGrantRoleRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergrantrolerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;user&lt;/td&gt;
 &lt;td&gt;user - це імʼя користувача, якому слід надати вказану роль.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;role - це імʼя ролі, яку слід надати користувачу.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergrantroleresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGrantRoleResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergrantroleresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserlistrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserListRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserlistrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserlistresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserListResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserlistresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;users&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserrevokerolerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserRevokeRoleRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserrevokerolerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserrevokeroleresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserRevokeRoleResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserrevokeroleresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenticaterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthenticateRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenticaterequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;password&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenticateresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthenticateResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenticateresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;token&lt;/td&gt;
 &lt;td&gt;token - це авторизований токен, який можна використовувати в наступних RPC&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-compactionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;CompactionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-compactionrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;CompactionRequest стискає сховище ключ-значення до вказаної ревізії. Всі замінені ключі з ревізією менше ревізії стиснення будуть видалені.&lt;/p&gt;</description></item><item><title>Довідник API</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/api_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/api_reference_v3/</guid><description>&lt;p&gt;Ця довідник API автоматично згенерована з вказаних файлів &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;
&lt;h5 id="service-auth-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Auth&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-auth-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthEnable&lt;/td&gt;
 &lt;td&gt;AuthEnableRequest&lt;/td&gt;
 &lt;td&gt;AuthEnableResponse&lt;/td&gt;
 &lt;td&gt;AuthEnable вмикає автентифікацію.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthDisable&lt;/td&gt;
 &lt;td&gt;AuthDisableRequest&lt;/td&gt;
 &lt;td&gt;AuthDisableResponse&lt;/td&gt;
 &lt;td&gt;AuthDisable вимикає автентифікацію.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthStatus&lt;/td&gt;
 &lt;td&gt;AuthStatusRequest&lt;/td&gt;
 &lt;td&gt;AuthStatusResponse&lt;/td&gt;
 &lt;td&gt;AuthStatus показує статус автентифікації.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Authenticate&lt;/td&gt;
 &lt;td&gt;AuthenticateRequest&lt;/td&gt;
 &lt;td&gt;AuthenticateResponse&lt;/td&gt;
 &lt;td&gt;Authenticate обробляє запит автентифікації.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserAdd&lt;/td&gt;
 &lt;td&gt;AuthUserAddRequest&lt;/td&gt;
 &lt;td&gt;AuthUserAddResponse&lt;/td&gt;
 &lt;td&gt;UserAdd додає нового користувача. Імʼя користувача не може бути порожнім.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserGet&lt;/td&gt;
 &lt;td&gt;AuthUserGetRequest&lt;/td&gt;
 &lt;td&gt;AuthUserGetResponse&lt;/td&gt;
 &lt;td&gt;UserGet отримує детальну інформацію про користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserList&lt;/td&gt;
 &lt;td&gt;AuthUserListRequest&lt;/td&gt;
 &lt;td&gt;AuthUserListResponse&lt;/td&gt;
 &lt;td&gt;UserList отримує список всіх користувачів.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserDelete&lt;/td&gt;
 &lt;td&gt;AuthUserDeleteRequest&lt;/td&gt;
 &lt;td&gt;AuthUserDeleteResponse&lt;/td&gt;
 &lt;td&gt;UserDelete видаляє вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserChangePassword&lt;/td&gt;
 &lt;td&gt;AuthUserChangePasswordRequest&lt;/td&gt;
 &lt;td&gt;AuthUserChangePasswordResponse&lt;/td&gt;
 &lt;td&gt;UserChangePassword змінює пароль вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserGrantRole&lt;/td&gt;
 &lt;td&gt;AuthUserGrantRoleRequest&lt;/td&gt;
 &lt;td&gt;AuthUserGrantRoleResponse&lt;/td&gt;
 &lt;td&gt;UserGrant надає роль вказаному користувачу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserRevokeRole&lt;/td&gt;
 &lt;td&gt;AuthUserRevokeRoleRequest&lt;/td&gt;
 &lt;td&gt;AuthUserRevokeRoleResponse&lt;/td&gt;
 &lt;td&gt;UserRevokeRole відкликає роль вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleAdd&lt;/td&gt;
 &lt;td&gt;AuthRoleAddRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleAddResponse&lt;/td&gt;
 &lt;td&gt;RoleAdd додає нову роль. Імʼя ролі не може бути порожнім.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleGet&lt;/td&gt;
 &lt;td&gt;AuthRoleGetRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleGetResponse&lt;/td&gt;
 &lt;td&gt;RoleGet отримує детальну інформацію про роль.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleList&lt;/td&gt;
 &lt;td&gt;AuthRoleListRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleListResponse&lt;/td&gt;
 &lt;td&gt;RoleList отримує список всіх ролей.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleDelete&lt;/td&gt;
 &lt;td&gt;AuthRoleDeleteRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleDeleteResponse&lt;/td&gt;
 &lt;td&gt;RoleDelete видаляє вказану роль.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleGrantPermission&lt;/td&gt;
 &lt;td&gt;AuthRoleGrantPermissionRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleGrantPermissionResponse&lt;/td&gt;
 &lt;td&gt;RoleGrantPermission надає дозвіл на вказаний ключ або діапазон вказаній ролі.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleRevokePermission&lt;/td&gt;
 &lt;td&gt;AuthRoleRevokePermissionRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleRevokePermissionResponse&lt;/td&gt;
 &lt;td&gt;RoleRevokePermission відкликає дозвіл на ключ або діапазон вказаної ролі.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-cluster-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Cluster&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-cluster-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberAdd&lt;/td&gt;
 &lt;td&gt;MemberAddRequest&lt;/td&gt;
 &lt;td&gt;MemberAddResponse&lt;/td&gt;
 &lt;td&gt;MemberAdd додає учасника до кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberRemove&lt;/td&gt;
 &lt;td&gt;MemberRemoveRequest&lt;/td&gt;
 &lt;td&gt;MemberRemoveResponse&lt;/td&gt;
 &lt;td&gt;MemberRemove видаляє існуючого учасника з кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberUpdate&lt;/td&gt;
 &lt;td&gt;MemberUpdateRequest&lt;/td&gt;
 &lt;td&gt;MemberUpdateResponse&lt;/td&gt;
 &lt;td&gt;MemberUpdate оновлює конфігурацію учасника.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberList&lt;/td&gt;
 &lt;td&gt;MemberListRequest&lt;/td&gt;
 &lt;td&gt;MemberListResponse&lt;/td&gt;
 &lt;td&gt;MemberList показує всіх учасників кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberPromote&lt;/td&gt;
 &lt;td&gt;MemberPromoteRequest&lt;/td&gt;
 &lt;td&gt;MemberPromoteResponse&lt;/td&gt;
 &lt;td&gt;MemberPromote підвищує учасника з raft learner (без права голосу) до raft учасника з правом голосу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-kv-apietcdserverpbrpcproto"&gt;service &lt;code&gt;KV&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-kv-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Range&lt;/td&gt;
 &lt;td&gt;RangeRequest&lt;/td&gt;
 &lt;td&gt;RangeResponse&lt;/td&gt;
 &lt;td&gt;Range отримує ключі в діапазоні з сховища ключ-значення.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Put&lt;/td&gt;
 &lt;td&gt;PutRequest&lt;/td&gt;
 &lt;td&gt;PutResponse&lt;/td&gt;
 &lt;td&gt;Put вставляє вказаний ключ у сховище ключ-значення. Запит на вставку збільшує ревізію сховища ключ-значення і генерує одну подію в історії подій.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DeleteRange&lt;/td&gt;
 &lt;td&gt;DeleteRangeRequest&lt;/td&gt;
 &lt;td&gt;DeleteRangeResponse&lt;/td&gt;
 &lt;td&gt;DeleteRange видаляє вказаний діапазон зі сховища ключ-значення. Запит на видалення збільшує ревізію сховища ключ-значення і генерує подію видалення в історії подій для кожного видаленого ключа.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Txn&lt;/td&gt;
 &lt;td&gt;TxnRequest&lt;/td&gt;
 &lt;td&gt;TxnResponse&lt;/td&gt;
 &lt;td&gt;Txn обробляє кілька запитів в одній транзакції. Запит на транзакцію збільшує ревізію сховища ключ-значення і генерує події з тією ж ревізією для кожного завершеного запиту. Не дозволяється змінювати один і той самий ключ кілька разів в одній транзакції.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Compact&lt;/td&gt;
 &lt;td&gt;CompactionRequest&lt;/td&gt;
 &lt;td&gt;CompactionResponse&lt;/td&gt;
 &lt;td&gt;Compact стискає історію подій у сховищі ключ-значення etcd. Сховище ключ-значення повинно періодично стискатися, інакше історія подій буде рости нескінченно.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-lease-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Lease&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-lease-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseGrant&lt;/td&gt;
 &lt;td&gt;LeaseGrantRequest&lt;/td&gt;
 &lt;td&gt;LeaseGrantResponse&lt;/td&gt;
 &lt;td&gt;LeaseGrant створює лізинг, який закінчується, якщо сервер не отримує keepAlive протягом заданого періоду часу. Всі ключі, прикріплені до лізингу, будуть видалені після закінчення терміну дії лізингу. Кожен видалений ключ генерує подію видалення в історії подій.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseRevoke&lt;/td&gt;
 &lt;td&gt;LeaseRevokeRequest&lt;/td&gt;
 &lt;td&gt;LeaseRevokeResponse&lt;/td&gt;
 &lt;td&gt;LeaseRevoke відкликає лізинг. Всі ключі, прикріплені до лізингу, будуть видалені.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseKeepAlive&lt;/td&gt;
 &lt;td&gt;LeaseKeepAliveRequest&lt;/td&gt;
 &lt;td&gt;LeaseKeepAliveResponse&lt;/td&gt;
 &lt;td&gt;LeaseKeepAlive підтримує лізинг активним, передаючи запити keep alive від клієнта до сервера і відповіді keep alive від сервера до клієнта.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseTimeToLive&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLiveRequest&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLiveResponse&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLive отримує інформацію про лізинг.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseLeases&lt;/td&gt;
 &lt;td&gt;LeaseLeasesRequest&lt;/td&gt;
 &lt;td&gt;LeaseLeasesResponse&lt;/td&gt;
 &lt;td&gt;LeaseLeases показує всі існуючі лізинги.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-maintenance-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Maintenance&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-maintenance-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Alarm&lt;/td&gt;
 &lt;td&gt;AlarmRequest&lt;/td&gt;
 &lt;td&gt;AlarmResponse&lt;/td&gt;
 &lt;td&gt;Alarm активує, деактивує та запитує тривоги щодо справності кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Status&lt;/td&gt;
 &lt;td&gt;StatusRequest&lt;/td&gt;
 &lt;td&gt;StatusResponse&lt;/td&gt;
 &lt;td&gt;Status отримує статус учасника.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Defragment&lt;/td&gt;
 &lt;td&gt;DefragmentRequest&lt;/td&gt;
 &lt;td&gt;DefragmentResponse&lt;/td&gt;
 &lt;td&gt;Defragment дефрагментує бекенд бази даних учасника для відновлення місця для зберігання.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Hash&lt;/td&gt;
 &lt;td&gt;HashRequest&lt;/td&gt;
 &lt;td&gt;HashResponse&lt;/td&gt;
 &lt;td&gt;Hash обчислює хеш всього бекенду ключового простору, включаючи ключі, лізинги та інші сегменти в сховищі. Це призначено ТІЛЬКИ для тестування! Не покладайтеся на це у промисловій експлуатації з поточними транзакціями, оскільки операція Hash не утримує блокування MVCC. Використовуйте API &amp;ldquo;HashKV&amp;rdquo; замість цього для перевірки узгодженості сегмента &amp;ldquo;ключ&amp;rdquo;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;HashKV&lt;/td&gt;
 &lt;td&gt;HashKVRequest&lt;/td&gt;
 &lt;td&gt;HashKVResponse&lt;/td&gt;
 &lt;td&gt;HashKV обчислює хеш всіх ключів MVCC до вказаної ревізії. Він ітерує тільки сегмент &amp;ldquo;ключ&amp;rdquo; в бекенді сховища.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Snapshot&lt;/td&gt;
 &lt;td&gt;SnapshotRequest&lt;/td&gt;
 &lt;td&gt;SnapshotResponse&lt;/td&gt;
 &lt;td&gt;Snapshot надсилає знімок всього бекенду від учасника через потік до клієнта.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MoveLeader&lt;/td&gt;
 &lt;td&gt;MoveLeaderRequest&lt;/td&gt;
 &lt;td&gt;MoveLeaderResponse&lt;/td&gt;
 &lt;td&gt;MoveLeader запитує поточного лідера вузла передати своє лідерство іншому вузлу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Downgrade&lt;/td&gt;
 &lt;td&gt;DowngradeRequest&lt;/td&gt;
 &lt;td&gt;DowngradeResponse&lt;/td&gt;
 &lt;td&gt;Downgrade запитує зниження, перевіряє можливість або скасовує зниження версії кластера. Підтримується з версії etcd 3.5.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-watch-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Watch&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-watch-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Watch&lt;/td&gt;
 &lt;td&gt;WatchRequest&lt;/td&gt;
 &lt;td&gt;WatchResponse&lt;/td&gt;
 &lt;td&gt;Watch спостерігає за подіями, що відбуваються або вже відбулися. Вхідний і вихідний потоки; вхідний потік створює і скасовує спостерігачів, а вихідний потік надсилає події. Один запит на спостереження може спостерігати за кількома діапазонами ключів, передаючи події для кількох спостережень одночасно. Вся історія подій може бути переглянута, починаючи з останньої ревізії стиснення.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmmember-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmMember&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmmember-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;memberID&lt;/td&gt;
 &lt;td&gt;memberID - це ID учасника, повʼязаного з піднятою тривогою.&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarm&lt;/td&gt;
 &lt;td&gt;alarm - це тип тривоги, яка була піднята.&lt;/td&gt;
 &lt;td&gt;AlarmType&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;action&lt;/td&gt;
 &lt;td&gt;action - це тип запиту на тривогу. Дія може бути GET для отримання статусів тривог, ACTIVATE для активації тривоги або DEACTIVATE для деактивації піднятої тривоги.&lt;/td&gt;
 &lt;td&gt;AlarmAction&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;memberID&lt;/td&gt;
 &lt;td&gt;memberID - це ID учасника, повʼязаного з тривогою. Якщо memberID дорівнює 0, запит на тривогу охоплює всіх учасників.&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarm&lt;/td&gt;
 &lt;td&gt;alarm - це тип тривоги, яку слід розглянути для цього запиту.&lt;/td&gt;
 &lt;td&gt;AlarmType&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarms&lt;/td&gt;
 &lt;td&gt;alarms - це список тривог, повʼязаних із запитом на тривогу.&lt;/td&gt;
 &lt;td&gt;(slice of) AlarmMember&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authdisablerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthDisableRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authdisablerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authdisableresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthDisableResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authdisableresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenablerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthEnableRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenablerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenableresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthEnableResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenableresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroleaddrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleAddRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroleaddrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя ролі, яку потрібно додати до системи автентифікації.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroleaddresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleAddResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroleaddresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroledeleterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleDeleteRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroledeleterequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroledeleteresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleDeleteResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroledeleteresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegetrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGetRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegetrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegetresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGetResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegetresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;perm&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) authpb.Permission&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegrantpermissionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGrantPermissionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegrantpermissionrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя ролі, якій буде надано дозвіл.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;perm&lt;/td&gt;
 &lt;td&gt;perm - це дозвіл, який буде надано ролі.&lt;/td&gt;
 &lt;td&gt;authpb.Permission&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegrantpermissionresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGrantPermissionResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegrantpermissionresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolelistrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleListRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolelistrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolelistresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleListResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolelistresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;roles&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolerevokepermissionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleRevokePermissionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolerevokepermissionrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;range_end&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolerevokepermissionresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleRevokePermissionResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolerevokepermissionresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authstatusrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthStatusRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authstatusrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authstatusresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthStatusResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authstatusresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;enabled&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;authRevision&lt;/td&gt;
 &lt;td&gt;authRevision - це поточна ревізія сховища автентифікації&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuseraddrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserAddRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuseraddrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;password&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;options&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;authpb.UserAddOptions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hashedPassword&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuseraddresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserAddResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuseraddresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserchangepasswordrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserChangePasswordRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserchangepasswordrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя користувача, пароль якого змінюється.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;password&lt;/td&gt;
 &lt;td&gt;password - це новий пароль для користувача. Зверніть увагу, що це поле буде видалено на рівні API.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hashedPassword&lt;/td&gt;
 &lt;td&gt;hashedPassword - це новий пароль для користувача. Зверніть увагу, що це поле буде ініціалізовано на рівні API.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserchangepasswordresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserChangePasswordResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserchangepasswordresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserdeleterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserDeleteRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserdeleterequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя користувача, якого потрібно видалити.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserdeleteresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserDeleteResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserdeleteresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergetrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGetRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergetrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergetresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGetResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergetresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;roles&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergrantrolerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGrantRoleRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergrantrolerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;user&lt;/td&gt;
 &lt;td&gt;user - це імʼя користувача, якому слід надати вказану роль.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;role - це імʼя ролі, яку слід надати користувачу.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergrantroleresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGrantRoleResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergrantroleresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserlistrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserListRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserlistrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserlistresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserListResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserlistresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;users&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserrevokerolerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserRevokeRoleRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserrevokerolerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserrevokeroleresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserRevokeRoleResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserrevokeroleresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenticaterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthenticateRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenticaterequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;password&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenticateresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthenticateResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenticateresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;token&lt;/td&gt;
 &lt;td&gt;token - це авторизований токен, який можна використовувати в наступних RPC&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-compactionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;CompactionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-compactionrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;CompactionRequest стискає сховище ключ-значення до вказаної ревізії. Всі замінені ключі з ревізією менше ревізії стиснення будуть видалені.&lt;/p&gt;</description></item><item><title>Довідник API</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/api_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/api_reference_v3/</guid><description>&lt;p&gt;Ця довідник API автоматично згенерована з вказаних файлів &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;
&lt;h5 id="service-auth-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Auth&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-auth-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthEnable&lt;/td&gt;
 &lt;td&gt;AuthEnableRequest&lt;/td&gt;
 &lt;td&gt;AuthEnableResponse&lt;/td&gt;
 &lt;td&gt;AuthEnable вмикає автентифікацію.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthDisable&lt;/td&gt;
 &lt;td&gt;AuthDisableRequest&lt;/td&gt;
 &lt;td&gt;AuthDisableResponse&lt;/td&gt;
 &lt;td&gt;AuthDisable вимикає автентифікацію.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AuthStatus&lt;/td&gt;
 &lt;td&gt;AuthStatusRequest&lt;/td&gt;
 &lt;td&gt;AuthStatusResponse&lt;/td&gt;
 &lt;td&gt;AuthStatus показує статус автентифікації.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Authenticate&lt;/td&gt;
 &lt;td&gt;AuthenticateRequest&lt;/td&gt;
 &lt;td&gt;AuthenticateResponse&lt;/td&gt;
 &lt;td&gt;Authenticate обробляє запит автентифікації.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserAdd&lt;/td&gt;
 &lt;td&gt;AuthUserAddRequest&lt;/td&gt;
 &lt;td&gt;AuthUserAddResponse&lt;/td&gt;
 &lt;td&gt;UserAdd додає нового користувача. Імʼя користувача не може бути порожнім.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserGet&lt;/td&gt;
 &lt;td&gt;AuthUserGetRequest&lt;/td&gt;
 &lt;td&gt;AuthUserGetResponse&lt;/td&gt;
 &lt;td&gt;UserGet отримує детальну інформацію про користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserList&lt;/td&gt;
 &lt;td&gt;AuthUserListRequest&lt;/td&gt;
 &lt;td&gt;AuthUserListResponse&lt;/td&gt;
 &lt;td&gt;UserList отримує список всіх користувачів.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserDelete&lt;/td&gt;
 &lt;td&gt;AuthUserDeleteRequest&lt;/td&gt;
 &lt;td&gt;AuthUserDeleteResponse&lt;/td&gt;
 &lt;td&gt;UserDelete видаляє вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserChangePassword&lt;/td&gt;
 &lt;td&gt;AuthUserChangePasswordRequest&lt;/td&gt;
 &lt;td&gt;AuthUserChangePasswordResponse&lt;/td&gt;
 &lt;td&gt;UserChangePassword змінює пароль вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserGrantRole&lt;/td&gt;
 &lt;td&gt;AuthUserGrantRoleRequest&lt;/td&gt;
 &lt;td&gt;AuthUserGrantRoleResponse&lt;/td&gt;
 &lt;td&gt;UserGrant надає роль вказаному користувачу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UserRevokeRole&lt;/td&gt;
 &lt;td&gt;AuthUserRevokeRoleRequest&lt;/td&gt;
 &lt;td&gt;AuthUserRevokeRoleResponse&lt;/td&gt;
 &lt;td&gt;UserRevokeRole відкликає роль вказаного користувача.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleAdd&lt;/td&gt;
 &lt;td&gt;AuthRoleAddRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleAddResponse&lt;/td&gt;
 &lt;td&gt;RoleAdd додає нову роль. Імʼя ролі не може бути порожнім.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleGet&lt;/td&gt;
 &lt;td&gt;AuthRoleGetRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleGetResponse&lt;/td&gt;
 &lt;td&gt;RoleGet отримує детальну інформацію про роль.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleList&lt;/td&gt;
 &lt;td&gt;AuthRoleListRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleListResponse&lt;/td&gt;
 &lt;td&gt;RoleList отримує список всіх ролей.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleDelete&lt;/td&gt;
 &lt;td&gt;AuthRoleDeleteRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleDeleteResponse&lt;/td&gt;
 &lt;td&gt;RoleDelete видаляє вказану роль.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleGrantPermission&lt;/td&gt;
 &lt;td&gt;AuthRoleGrantPermissionRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleGrantPermissionResponse&lt;/td&gt;
 &lt;td&gt;RoleGrantPermission надає дозвіл на вказаний ключ або діапазон вказаній ролі.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RoleRevokePermission&lt;/td&gt;
 &lt;td&gt;AuthRoleRevokePermissionRequest&lt;/td&gt;
 &lt;td&gt;AuthRoleRevokePermissionResponse&lt;/td&gt;
 &lt;td&gt;RoleRevokePermission відкликає дозвіл на ключ або діапазон вказаної ролі.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-cluster-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Cluster&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-cluster-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberAdd&lt;/td&gt;
 &lt;td&gt;MemberAddRequest&lt;/td&gt;
 &lt;td&gt;MemberAddResponse&lt;/td&gt;
 &lt;td&gt;MemberAdd додає учасника до кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberRemove&lt;/td&gt;
 &lt;td&gt;MemberRemoveRequest&lt;/td&gt;
 &lt;td&gt;MemberRemoveResponse&lt;/td&gt;
 &lt;td&gt;MemberRemove видаляє існуючого учасника з кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberUpdate&lt;/td&gt;
 &lt;td&gt;MemberUpdateRequest&lt;/td&gt;
 &lt;td&gt;MemberUpdateResponse&lt;/td&gt;
 &lt;td&gt;MemberUpdate оновлює конфігурацію учасника.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberList&lt;/td&gt;
 &lt;td&gt;MemberListRequest&lt;/td&gt;
 &lt;td&gt;MemberListResponse&lt;/td&gt;
 &lt;td&gt;MemberList показує всіх учасників кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MemberPromote&lt;/td&gt;
 &lt;td&gt;MemberPromoteRequest&lt;/td&gt;
 &lt;td&gt;MemberPromoteResponse&lt;/td&gt;
 &lt;td&gt;MemberPromote підвищує учасника з raft learner (без права голосу) до raft учасника з правом голосу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-kv-apietcdserverpbrpcproto"&gt;service &lt;code&gt;KV&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-kv-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Range&lt;/td&gt;
 &lt;td&gt;RangeRequest&lt;/td&gt;
 &lt;td&gt;RangeResponse&lt;/td&gt;
 &lt;td&gt;Range отримує ключі в діапазоні з сховища ключ-значення.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Put&lt;/td&gt;
 &lt;td&gt;PutRequest&lt;/td&gt;
 &lt;td&gt;PutResponse&lt;/td&gt;
 &lt;td&gt;Put вставляє вказаний ключ у сховище ключ-значення. Запит на вставку збільшує ревізію сховища ключ-значення і генерує одну подію в історії подій.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DeleteRange&lt;/td&gt;
 &lt;td&gt;DeleteRangeRequest&lt;/td&gt;
 &lt;td&gt;DeleteRangeResponse&lt;/td&gt;
 &lt;td&gt;DeleteRange видаляє вказаний діапазон зі сховища ключ-значення. Запит на видалення збільшує ревізію сховища ключ-значення і генерує подію видалення в історії подій для кожного видаленого ключа.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Txn&lt;/td&gt;
 &lt;td&gt;TxnRequest&lt;/td&gt;
 &lt;td&gt;TxnResponse&lt;/td&gt;
 &lt;td&gt;Txn обробляє кілька запитів в одній транзакції. Запит на транзакцію збільшує ревізію сховища ключ-значення і генерує події з тією ж ревізією для кожного завершеного запиту. Не дозволяється змінювати один і той самий ключ кілька разів в одній транзакції.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Compact&lt;/td&gt;
 &lt;td&gt;CompactionRequest&lt;/td&gt;
 &lt;td&gt;CompactionResponse&lt;/td&gt;
 &lt;td&gt;Compact стискає історію подій у сховищі ключ-значення etcd. Сховище ключ-значення повинно періодично стискатися, інакше історія подій буде рости нескінченно.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-lease-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Lease&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-lease-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseGrant&lt;/td&gt;
 &lt;td&gt;LeaseGrantRequest&lt;/td&gt;
 &lt;td&gt;LeaseGrantResponse&lt;/td&gt;
 &lt;td&gt;LeaseGrant створює лізинг, який закінчується, якщо сервер не отримує keepAlive протягом заданого періоду часу. Всі ключі, прикріплені до лізингу, будуть видалені після закінчення терміну дії лізингу. Кожен видалений ключ генерує подію видалення в історії подій.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseRevoke&lt;/td&gt;
 &lt;td&gt;LeaseRevokeRequest&lt;/td&gt;
 &lt;td&gt;LeaseRevokeResponse&lt;/td&gt;
 &lt;td&gt;LeaseRevoke відкликає лізинг. Всі ключі, прикріплені до лізингу, будуть видалені.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseKeepAlive&lt;/td&gt;
 &lt;td&gt;LeaseKeepAliveRequest&lt;/td&gt;
 &lt;td&gt;LeaseKeepAliveResponse&lt;/td&gt;
 &lt;td&gt;LeaseKeepAlive підтримує лізинг активним, передаючи запити keep alive від клієнта до сервера і відповіді keep alive від сервера до клієнта.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseTimeToLive&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLiveRequest&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLiveResponse&lt;/td&gt;
 &lt;td&gt;LeaseTimeToLive отримує інформацію про лізинг.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LeaseLeases&lt;/td&gt;
 &lt;td&gt;LeaseLeasesRequest&lt;/td&gt;
 &lt;td&gt;LeaseLeasesResponse&lt;/td&gt;
 &lt;td&gt;LeaseLeases показує всі існуючі лізинги.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-maintenance-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Maintenance&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-maintenance-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Alarm&lt;/td&gt;
 &lt;td&gt;AlarmRequest&lt;/td&gt;
 &lt;td&gt;AlarmResponse&lt;/td&gt;
 &lt;td&gt;Alarm активує, деактивує та запитує тривоги щодо справності кластера.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Status&lt;/td&gt;
 &lt;td&gt;StatusRequest&lt;/td&gt;
 &lt;td&gt;StatusResponse&lt;/td&gt;
 &lt;td&gt;Status отримує статус учасника.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Defragment&lt;/td&gt;
 &lt;td&gt;DefragmentRequest&lt;/td&gt;
 &lt;td&gt;DefragmentResponse&lt;/td&gt;
 &lt;td&gt;Defragment дефрагментує бекенд бази даних учасника для відновлення місця для зберігання.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Hash&lt;/td&gt;
 &lt;td&gt;HashRequest&lt;/td&gt;
 &lt;td&gt;HashResponse&lt;/td&gt;
 &lt;td&gt;Hash обчислює хеш всього бекенду ключового простору, включаючи ключі, лізинги та інші сегменти в сховищі. Це призначено ТІЛЬКИ для тестування! Не покладайтеся на це у промисловій експлуатації з поточними транзакціями, оскільки операція Hash не утримує блокування MVCC. Використовуйте API &amp;ldquo;HashKV&amp;rdquo; замість цього для перевірки узгодженості сегмента &amp;ldquo;ключ&amp;rdquo;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;HashKV&lt;/td&gt;
 &lt;td&gt;HashKVRequest&lt;/td&gt;
 &lt;td&gt;HashKVResponse&lt;/td&gt;
 &lt;td&gt;HashKV обчислює хеш всіх ключів MVCC до вказаної ревізії. Він ітерує тільки сегмент &amp;ldquo;ключ&amp;rdquo; в бекенді сховища.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Snapshot&lt;/td&gt;
 &lt;td&gt;SnapshotRequest&lt;/td&gt;
 &lt;td&gt;SnapshotResponse&lt;/td&gt;
 &lt;td&gt;Snapshot надсилає знімок всього бекенду від учасника через потік до клієнта.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MoveLeader&lt;/td&gt;
 &lt;td&gt;MoveLeaderRequest&lt;/td&gt;
 &lt;td&gt;MoveLeaderResponse&lt;/td&gt;
 &lt;td&gt;MoveLeader запитує поточного лідера вузла передати своє лідерство іншому вузлу.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Downgrade&lt;/td&gt;
 &lt;td&gt;DowngradeRequest&lt;/td&gt;
 &lt;td&gt;DowngradeResponse&lt;/td&gt;
 &lt;td&gt;Downgrade запитує зниження, перевіряє можливість або скасовує зниження версії кластера. Підтримується з версії etcd 3.5.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-watch-apietcdserverpbrpcproto"&gt;service &lt;code&gt;Watch&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#service-watch-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Watch&lt;/td&gt;
 &lt;td&gt;WatchRequest&lt;/td&gt;
 &lt;td&gt;WatchResponse&lt;/td&gt;
 &lt;td&gt;Watch спостерігає за подіями, що відбуваються або вже відбулися. Вхідний і вихідний потоки; вхідний потік створює і скасовує спостерігачів, а вихідний потік надсилає події. Один запит на спостереження може спостерігати за кількома діапазонами ключів, передаючи події для кількох спостережень одночасно. Вся історія подій може бути переглянута, починаючи з останньої ревізії стиснення.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmmember-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmMember&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmmember-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;memberID&lt;/td&gt;
 &lt;td&gt;memberID - це ID учасника, повʼязаного з піднятою тривогою.&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarm&lt;/td&gt;
 &lt;td&gt;alarm - це тип тривоги, яка була піднята.&lt;/td&gt;
 &lt;td&gt;AlarmType&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;action&lt;/td&gt;
 &lt;td&gt;action - це тип запиту на тривогу. Дія може бути GET для отримання статусів тривог, ACTIVATE для активації тривоги або DEACTIVATE для деактивації піднятої тривоги.&lt;/td&gt;
 &lt;td&gt;AlarmAction&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;memberID&lt;/td&gt;
 &lt;td&gt;memberID - це ID учасника, повʼязаного з тривогою. Якщо memberID дорівнює 0, запит на тривогу охоплює всіх учасників.&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarm&lt;/td&gt;
 &lt;td&gt;alarm - це тип тривоги, яку слід розглянути для цього запиту.&lt;/td&gt;
 &lt;td&gt;AlarmType&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-alarmresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AlarmResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-alarmresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alarms&lt;/td&gt;
 &lt;td&gt;alarms - це список тривог, повʼязаних із запитом на тривогу.&lt;/td&gt;
 &lt;td&gt;(slice of) AlarmMember&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authdisablerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthDisableRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authdisablerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authdisableresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthDisableResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authdisableresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenablerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthEnableRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenablerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenableresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthEnableResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenableresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroleaddrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleAddRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroleaddrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя ролі, яку потрібно додати до системи автентифікації.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroleaddresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleAddResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroleaddresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroledeleterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleDeleteRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroledeleterequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authroledeleteresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleDeleteResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authroledeleteresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegetrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGetRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegetrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegetresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGetResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegetresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;perm&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) authpb.Permission&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegrantpermissionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGrantPermissionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegrantpermissionrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя ролі, якій буде надано дозвіл.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;perm&lt;/td&gt;
 &lt;td&gt;perm - це дозвіл, який буде надано ролі.&lt;/td&gt;
 &lt;td&gt;authpb.Permission&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolegrantpermissionresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleGrantPermissionResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolegrantpermissionresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolelistrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleListRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolelistrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolelistresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleListResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolelistresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;roles&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolerevokepermissionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleRevokePermissionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolerevokepermissionrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;range_end&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authrolerevokepermissionresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthRoleRevokePermissionResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authrolerevokepermissionresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authstatusrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthStatusRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authstatusrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authstatusresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthStatusResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authstatusresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;enabled&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;bool&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;authRevision&lt;/td&gt;
 &lt;td&gt;authRevision - це поточна ревізія сховища автентифікації&lt;/td&gt;
 &lt;td&gt;uint64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuseraddrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserAddRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuseraddrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;password&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;options&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;authpb.UserAddOptions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hashedPassword&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuseraddresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserAddResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuseraddresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserchangepasswordrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserChangePasswordRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserchangepasswordrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя користувача, пароль якого змінюється.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;password&lt;/td&gt;
 &lt;td&gt;password - це новий пароль для користувача. Зверніть увагу, що це поле буде видалено на рівні API.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;hashedPassword&lt;/td&gt;
 &lt;td&gt;hashedPassword - це новий пароль для користувача. Зверніть увагу, що це поле буде ініціалізовано на рівні API.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserchangepasswordresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserChangePasswordResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserchangepasswordresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserdeleterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserDeleteRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserdeleterequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name - це імʼя користувача, якого потрібно видалити.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserdeleteresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserDeleteResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserdeleteresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergetrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGetRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergetrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergetresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGetResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergetresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;roles&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergrantrolerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGrantRoleRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergrantrolerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;user&lt;/td&gt;
 &lt;td&gt;user - це імʼя користувача, якому слід надати вказану роль.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;role - це імʼя ролі, яку слід надати користувачу.&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authusergrantroleresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserGrantRoleResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authusergrantroleresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserlistrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserListRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserlistrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserlistresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserListResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserlistresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;users&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;(slice of) string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserrevokerolerequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserRevokeRoleRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserrevokerolerequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;role&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authuserrevokeroleresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthUserRevokeRoleResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authuserrevokeroleresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenticaterequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthenticateRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenticaterequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;password&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-authenticateresponse-apietcdserverpbrpcproto"&gt;message &lt;code&gt;AuthenticateResponse&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-authenticateresponse-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;(versionpb.etcd_version_msg)&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;option&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;token&lt;/td&gt;
 &lt;td&gt;token - це авторизований токен, який можна використовувати в наступних RPC&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-compactionrequest-apietcdserverpbrpcproto"&gt;message &lt;code&gt;CompactionRequest&lt;/code&gt; (api/etcdserverpb/rpc.proto)&lt;a class="td-heading-self-link" href="#message-compactionrequest-apietcdserverpbrpcproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;CompactionRequest стискає сховище ключ-значення до вказаної ревізії. Всі замінені ключі з ревізією менше ревізії стиснення будуть видалені.&lt;/p&gt;</description></item><item><title>Довідник API: паралельність</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/api_concurrency_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/dev-guide/api_concurrency_reference_v3/</guid><description>&lt;p&gt;Ця довідка API автоматично згенерована з вказаних файлів &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;
&lt;h5 id="service-lock-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;service &lt;code&gt;Lock&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#service-lock-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Сервіс блокування надає клієнтські засоби блокування як інтерфейс gRPC.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Lock&lt;/td&gt;
 &lt;td&gt;LockRequest&lt;/td&gt;
 &lt;td&gt;LockResponse&lt;/td&gt;
 &lt;td&gt;Lock отримує розподілений спільний блок на вказаному іменованому блоці. У разі успіху, він поверне унікальний ключ, який існує, поки блок утримується викликачем. Цей ключ можна використовувати разом з транзакціями, щоб безпечно забезпечити оновлення до etcd лише під час утримання блоку. Блок утримується до виклику Unlock на ключі або до закінчення терміну дії оренди, повʼязаної з власником.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Unlock&lt;/td&gt;
 &lt;td&gt;UnlockRequest&lt;/td&gt;
 &lt;td&gt;UnlockResponse&lt;/td&gt;
 &lt;td&gt;Unlock приймає ключ, повернутий Lock, і звільняє утримання блоку. Наступний викликач Lock, який чекає на блок, буде розбуджений і отримає право власності на блок.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-lockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-lockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name є ідентифікатором для розподіленого спільного блоку, який потрібно отримати.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;lease&lt;/td&gt;
 &lt;td&gt;lease є ID оренди, яка буде прикріплена до права власності на блок. Якщо оренда закінчується або відкликається і наразі утримує блок, блок автоматично звільняється. Виклики до Lock з тією ж орендою будуть розглядатися як одне отримання; блокування двічі з тією ж орендою є бездіяльністю.&lt;/td&gt;
 &lt;td&gt;int64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-lockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-lockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;key є ключем, який існуватиме в etcd протягом часу, коли викликач Lock утримує блок. Користувачі не повинні змінювати цей ключ, інакше блок може проявляти невизначену поведінку.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-unlockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-unlockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;key є ключем права власності на блок, наданим Lock.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-unlockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-unlockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-election-serveretcdserverapiv3electionv3electionpbv3electionproto"&gt;service &lt;code&gt;Election&lt;/code&gt; (server/etcdserver/api/v3election/v3electionpb/v3election.proto)&lt;a class="td-heading-self-link" href="#service-election-serveretcdserverapiv3electionv3electionpbv3electionproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Сервіс виборів надає клієнтські засоби виборів як інтерфейс gRPC.&lt;/p&gt;</description></item><item><title>Довідник API: паралельність</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/api_concurrency_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/dev-guide/api_concurrency_reference_v3/</guid><description>&lt;p&gt;Ця довідка API автоматично згенерована з вказаних файлів &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;
&lt;h5 id="service-lock-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;service &lt;code&gt;Lock&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#service-lock-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Сервіс блокування надає клієнтські засоби блокування як інтерфейс gRPC.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Lock&lt;/td&gt;
 &lt;td&gt;LockRequest&lt;/td&gt;
 &lt;td&gt;LockResponse&lt;/td&gt;
 &lt;td&gt;Lock отримує розподілений спільний блок на вказаному іменованому блоці. У разі успіху, він поверне унікальний ключ, який існує, поки блок утримується викликачем. Цей ключ можна використовувати разом з транзакціями, щоб безпечно забезпечити оновлення до etcd лише під час утримання блоку. Блок утримується до виклику Unlock на ключі або до закінчення терміну дії оренди, повʼязаної з власником.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Unlock&lt;/td&gt;
 &lt;td&gt;UnlockRequest&lt;/td&gt;
 &lt;td&gt;UnlockResponse&lt;/td&gt;
 &lt;td&gt;Unlock приймає ключ, повернутий Lock, і звільняє утримання блоку. Наступний викликач Lock, який чекає на блок, буде розбуджений і отримає право власності на блок.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-lockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-lockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name є ідентифікатором для розподіленого спільного блоку, який потрібно отримати.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;lease&lt;/td&gt;
 &lt;td&gt;lease є ID оренди, яка буде прикріплена до права власності на блок. Якщо оренда закінчується або відкликається і наразі утримує блок, блок автоматично звільняється. Виклики до Lock з тією ж орендою будуть розглядатися як одне отримання; блокування двічі з тією ж орендою є бездіяльністю.&lt;/td&gt;
 &lt;td&gt;int64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-lockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-lockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;key є ключем, який існуватиме в etcd протягом часу, коли викликач Lock утримує блок. Користувачі не повинні змінювати цей ключ, інакше блок може проявляти невизначену поведінку.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-unlockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-unlockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;key є ключем права власності на блок, наданим Lock.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-unlockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-unlockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-election-serveretcdserverapiv3electionv3electionpbv3electionproto"&gt;service &lt;code&gt;Election&lt;/code&gt; (server/etcdserver/api/v3election/v3electionpb/v3election.proto)&lt;a class="td-heading-self-link" href="#service-election-serveretcdserverapiv3electionv3electionpbv3electionproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Сервіс виборів надає клієнтські засоби виборів як інтерфейс gRPC.&lt;/p&gt;</description></item><item><title>Довідник API: паралельність</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/api_concurrency_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/dev-guide/api_concurrency_reference_v3/</guid><description>&lt;p&gt;Ця довідка API автоматично згенерована з вказаних файлів &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;
&lt;h5 id="service-lock-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;service &lt;code&gt;Lock&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#service-lock-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Сервіс блокування надає клієнтські засоби блокування як інтерфейс gRPC.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Lock&lt;/td&gt;
 &lt;td&gt;LockRequest&lt;/td&gt;
 &lt;td&gt;LockResponse&lt;/td&gt;
 &lt;td&gt;Lock отримує розподілений спільний блок на вказаному іменованому блоці. У разі успіху, він поверне унікальний ключ, який існує, поки блок утримується викликачем. Цей ключ можна використовувати разом з транзакціями, щоб безпечно забезпечити оновлення до etcd лише під час утримання блоку. Блок утримується до виклику Unlock на ключі або до закінчення терміну дії оренди, повʼязаної з власником.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Unlock&lt;/td&gt;
 &lt;td&gt;UnlockRequest&lt;/td&gt;
 &lt;td&gt;UnlockResponse&lt;/td&gt;
 &lt;td&gt;Unlock приймає ключ, повернутий Lock, і звільняє утримання блоку. Наступний викликач Lock, який чекає на блок, буде розбуджений і отримає право власності на блок.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-lockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-lockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name є ідентифікатором для розподіленого спільного блоку, який потрібно отримати.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;lease&lt;/td&gt;
 &lt;td&gt;lease є ID оренди, яка буде прикріплена до права власності на блок. Якщо оренда закінчується або відкликається і наразі утримує блок, блок автоматично звільняється. Виклики до Lock з тією ж орендою будуть розглядатися як одне отримання; блокування двічі з тією ж орендою є бездіяльністю.&lt;/td&gt;
 &lt;td&gt;int64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-lockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-lockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;key є ключем, який існуватиме в etcd протягом часу, коли викликач Lock утримує блок. Користувачі не повинні змінювати цей ключ, інакше блок може проявляти невизначену поведінку.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-unlockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-unlockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;key є ключем права власності на блок, наданим Lock.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-unlockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-unlockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-election-serveretcdserverapiv3electionv3electionpbv3electionproto"&gt;service &lt;code&gt;Election&lt;/code&gt; (server/etcdserver/api/v3election/v3electionpb/v3election.proto)&lt;a class="td-heading-self-link" href="#service-election-serveretcdserverapiv3electionv3electionpbv3electionproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Сервіс виборів надає клієнтські засоби виборів як інтерфейс gRPC.&lt;/p&gt;</description></item><item><title>Довідник API: паралельність</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/api_concurrency_reference_v3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/dev-guide/api_concurrency_reference_v3/</guid><description>&lt;p&gt;Ця довідка API автоматично згенерована з вказаних файлів &lt;code&gt;.proto&lt;/code&gt;.&lt;/p&gt;
&lt;h5 id="service-lock-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;service &lt;code&gt;Lock&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#service-lock-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Сервіс блокування надає клієнтські засоби блокування як інтерфейс gRPC.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Метод&lt;/th&gt;
 &lt;th&gt;Тип запиту&lt;/th&gt;
 &lt;th&gt;Тип відповіді&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Lock&lt;/td&gt;
 &lt;td&gt;LockRequest&lt;/td&gt;
 &lt;td&gt;LockResponse&lt;/td&gt;
 &lt;td&gt;Lock отримує розподілений спільний блок на вказаному іменованому блоці. У разі успіху, він поверне унікальний ключ, який існує, поки блок утримується викликачем. Цей ключ можна використовувати разом з транзакціями, щоб безпечно забезпечити оновлення до etcd лише під час утримання блоку. Блок утримується до виклику Unlock на ключі або до закінчення терміну дії оренди, повʼязаної з власником.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Unlock&lt;/td&gt;
 &lt;td&gt;UnlockRequest&lt;/td&gt;
 &lt;td&gt;UnlockResponse&lt;/td&gt;
 &lt;td&gt;Unlock приймає ключ, повернутий Lock, і звільняє утримання блоку. Наступний викликач Lock, який чекає на блок, буде розбуджений і отримає право власності на блок.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-lockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-lockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;name&lt;/td&gt;
 &lt;td&gt;name є ідентифікатором для розподіленого спільного блоку, який потрібно отримати.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;lease&lt;/td&gt;
 &lt;td&gt;lease є ID оренди, яка буде прикріплена до права власності на блок. Якщо оренда закінчується або відкликається і наразі утримує блок, блок автоматично звільняється. Виклики до Lock з тією ж орендою будуть розглядатися як одне отримання; блокування двічі з тією ж орендою є бездіяльністю.&lt;/td&gt;
 &lt;td&gt;int64&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-lockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;LockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-lockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;key є ключем, який існуватиме в etcd протягом часу, коли викликач Lock утримує блок. Користувачі не повинні змінювати цей ключ, інакше блок може проявляти невизначену поведінку.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-unlockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockRequest&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-unlockrequest-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;key&lt;/td&gt;
 &lt;td&gt;key є ключем права власності на блок, наданим Lock.&lt;/td&gt;
 &lt;td&gt;bytes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="message-unlockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto"&gt;message &lt;code&gt;UnlockResponse&lt;/code&gt; (server/etcdserver/api/v3lock/v3lockpb/v3lock.proto)&lt;a class="td-heading-self-link" href="#message-unlockresponse-serveretcdserverapiv3lockv3lockpbv3lockproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Поле&lt;/th&gt;
 &lt;th&gt;Опис&lt;/th&gt;
 &lt;th&gt;Тип&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;header&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;etcdserverpb.ResponseHeader&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id="service-election-serveretcdserverapiv3electionv3electionpbv3electionproto"&gt;service &lt;code&gt;Election&lt;/code&gt; (server/etcdserver/api/v3election/v3electionpb/v3election.proto)&lt;a class="td-heading-self-link" href="#service-election-serveretcdserverapiv3electionv3electionpbv3electionproto" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;Сервіс виборів надає клієнтські засоби виборів як інтерфейс gRPC.&lt;/p&gt;</description></item><item><title>Управління PR</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.5/triage/prs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.5/triage/prs/</guid><description>&lt;h2 id="purpose"&gt;Мета&lt;a class="td-heading-self-link" href="#purpose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Прискорити управління PR.&lt;/p&gt;
&lt;p&gt;PR для &lt;code&gt;etcd&lt;/code&gt; містяться у &lt;a href="https://github.com/etcd-io/etcd/pulls"&gt;https://github.com/etcd-io/etcd/pulls&lt;/a&gt;. PR може мати різні мітки, етапи, рецензентів тощо. Детальний список міток можна знайти на &lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Нижче наведено кілька прикладів пошуку PR для зручності:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+is%3Aopen+milestone%3Aetcd-v3.4"&gt;Відкриті PR для віхи etcd-v3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/Investigating"&gt;PR, що розслідуються&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Обсяг дії&lt;a class="td-heading-self-link" href="#scope" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ці рекомендації служать основним документом для управління PR в &lt;code&gt;etcd&lt;/code&gt;. Кожен може допомогти в управлінні PR, але робота та обовʼязки, описані в цьому документі, створені з урахуванням підтримувачів та активних учасників &lt;code&gt;etcd&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Управління PR</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.6/triage/prs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.6/triage/prs/</guid><description>&lt;h2 id="purpose"&gt;Мета&lt;a class="td-heading-self-link" href="#purpose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Покращити управління PR.&lt;/p&gt;
&lt;p&gt;PR для &lt;code&gt;etcd&lt;/code&gt; містяться у &lt;a href="https://github.com/etcd-io/etcd/pulls"&gt;https://github.com/etcd-io/etcd/pulls&lt;/a&gt;. PR може мати різні мітки, етапи, рецензентів тощо. Детальний список міток можна знайти на &lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Нижче наведено кілька прикладів пошуку PR для зручності:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+is%3Aopen+milestone%3Aetcd-v3.4"&gt;Відкриті PR для віхи etcd-v3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/Investigating"&gt;PR, що розслідуються&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Обсяг дії&lt;a class="td-heading-self-link" href="#scope" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ці рекомендації служать основним документом для управління PR в &lt;code&gt;etcd&lt;/code&gt;. Кожен може допомогти в управлінні PR, але робота та обовʼязки, описані в цьому документі, створені з урахуванням підтримувачів та активних учасників &lt;code&gt;etcd&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Управління PR</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.7/triage/prs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.7/triage/prs/</guid><description>&lt;h2 id="purpose"&gt;Мета&lt;a class="td-heading-self-link" href="#purpose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Покращити управління PR.&lt;/p&gt;
&lt;p&gt;PR для &lt;code&gt;etcd&lt;/code&gt; містяться у &lt;a href="https://github.com/etcd-io/etcd/pulls"&gt;https://github.com/etcd-io/etcd/pulls&lt;/a&gt;. PR може мати різні мітки, етапи, рецензентів тощо. Детальний список міток можна знайти на &lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Нижче наведено кілька прикладів пошуку PR для зручності:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+is%3Aopen+milestone%3Aetcd-v3.4"&gt;Відкриті PR для віхи etcd-v3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/Investigating"&gt;PR, що розслідуються&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Обсяг дії&lt;a class="td-heading-self-link" href="#scope" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ці рекомендації служать основним документом для управління PR в &lt;code&gt;etcd&lt;/code&gt;. Кожен може допомогти в управлінні PR, але робота та обовʼязки, описані в цьому документі, створені з урахуванням підтримувачів та активних учасників &lt;code&gt;etcd&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Управління PR</title><link>https://andygol-etcd.netlify.app/uk/docs/v3.8/triage/prs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andygol-etcd.netlify.app/uk/docs/v3.8/triage/prs/</guid><description>&lt;h2 id="purpose"&gt;Мета&lt;a class="td-heading-self-link" href="#purpose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Покращити управління PR.&lt;/p&gt;
&lt;p&gt;PR для &lt;code&gt;etcd&lt;/code&gt; містяться у &lt;a href="https://github.com/etcd-io/etcd/pulls"&gt;https://github.com/etcd-io/etcd/pulls&lt;/a&gt;. PR може мати різні мітки, етапи, рецензентів тощо. Детальний список міток можна знайти на &lt;a href="https://github.com/kubernetes/kubernetes/labels"&gt;https://github.com/kubernetes/kubernetes/labels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Нижче наведено кілька прикладів пошуку PR для зручності:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+is%3Aopen+milestone%3Aetcd-v3.4"&gt;Відкриті PR для віхи etcd-v3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/etcd-io/etcd/labels/Investigating"&gt;PR, що розслідуються&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scope"&gt;Обсяг дії&lt;a class="td-heading-self-link" href="#scope" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ці рекомендації служать основним документом для управління PR в &lt;code&gt;etcd&lt;/code&gt;. Кожен може допомогти в управлінні PR, але робота та обовʼязки, описані в цьому документі, створені з урахуванням підтримувачів та активних учасників &lt;code&gt;etcd&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>