<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Archives des ETCD - CoffeeBreak Info</title>
	<atom:link href="https://coffeebreak.en-images.info/tag/etcd/feed/" rel="self" type="application/rss+xml" />
	<link>https://coffeebreak.en-images.info/tag/etcd/</link>
	<description>Une petite pause :)</description>
	<lastBuildDate>Sun, 02 Apr 2023 10:02:34 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://coffeebreak.en-images.info/wp-content/uploads/2021/07/cropped-Tasse_Cafe-scaled-1-32x32.jpg</url>
	<title>Archives des ETCD - CoffeeBreak Info</title>
	<link>https://coffeebreak.en-images.info/tag/etcd/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>MODOP – Partie 1 &#8211; PostgreSQL HA &#8211; Installation du Cluster ETCD</title>
		<link>https://coffeebreak.en-images.info/modop-partie-1-postgresql-ha-installation-du-cluster-etcd/</link>
					<comments>https://coffeebreak.en-images.info/modop-partie-1-postgresql-ha-installation-du-cluster-etcd/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sun, 02 Apr 2023 10:02:31 +0000</pubDate>
				<category><![CDATA[Cluster HA PostgreSQL]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[RedHat/Centos Linux]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[ETCD]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[postgreSQL]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[systeme]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=8085</guid>

					<description><![CDATA[<p>MODOP sur la mise en place d’un cluster ETCD pour gérer la coordination de plusieurs nœuds d’un cluster postgreSQL en haute disponibilité avec l’aide de Patroni . Il va permettre le stockage de la configuration et des informations de fonctionnement du cluster (nœuds, config, comptes, les rôles, etc.).<br />
Il est assimilé à une base de données distribuée de type clé-valeur.  </p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-1-postgresql-ha-installation-du-cluster-etcd/">MODOP – Partie 1 &#8211; PostgreSQL HA &#8211; Installation du Cluster ETCD</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span style="color: #000000;">Inventaire des machines</span></h2>
<p><img fetchpriority="high" decoding="async" width="977" height="211" class="wp-image-8087" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-2.png 977w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-2-300x65.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-2-768x166.png 768w" sizes="(max-width: 977px) 100vw, 977px" /></p>
<h2><span style="color: #000000;">Cluster ETCD</span></h2>
<ul>
<li>hostname : <strong>Node-esql01</strong>
<ul>
<li>IP&nbsp;: 192.168.1.100/24</li>
<li>OS&nbsp;: Rocky Linux 8.5</li>
<li>RAM&nbsp;: 2Go</li>
<li>CPU&nbsp;: 1</li>
</ul>
</li>
<li>hostname : <strong>Node-esql02</strong>
<ul>
<li>IP&nbsp;: 192.168.1.101/24</li>
<li>OS&nbsp;: Rocky Linux 8.5</li>
<li>RAM&nbsp;: 2Go</li>
<li>CPU&nbsp;: 1</li>
</ul>
</li>
<li>hostname : <strong>Node-esql03</strong>
<ul>
<li>IP&nbsp;: 192.168.1.102/24</li>
<li>OS&nbsp;: Rocky Linux 8.5</li>
<li>RAM&nbsp;: 2Go</li>
<li>CPU&nbsp;: 1</li>
</ul>
</li>
</ul>
<h2><span style="color: #000000;">1. Mise à jour (3 nodes)</span></h2>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">dnf update -y</span></pre>
<h2><span style="color: #000000;">2. Ajout des Hosts (pas de DNS)</span></h2>
<h3><span style="color: #000000;">Nodes ETCD</span></h3>
<pre>[root@node-esql01 ~]# <span style="color: #ff0000;">echo "# Cluster ETCD " &gt;&gt; /etc/hosts</span>
[root@node-esql01 ~]#<span style="color: #ff0000;"> echo "192.168.1.100 <strong>node-esql01 </strong>" &gt;&gt; /etc/hosts</span>
[root@node-esql01 ~]# <span style="color: #ff0000;">echo "192.168.1.101 <strong>node-esql02</strong> " &gt;&gt; /etc/hosts</span>
[root@node-esql01 ~]#<span style="color: #ff0000;"> echo "192.168.1.102 <strong>node-esql03</strong> " &gt;&gt; /etc/hosts</span></pre>
<h3><span style="color: #000000;">Nodes PostgreSQL</span></h3>
<pre>[root@node-esql01 ~]# <span style="color: #ff0000;">echo "# Cluster PostgreSQL " &gt;&gt; /etc/hosts</span>
[root@node-esql01 ~]# <span style="color: #ff0000;">echo "192.168.1.103 <strong>node-psql01</strong> " &gt;&gt; /etc/hosts</span>
[root@node-esql01 ~]# <span style="color: #ff0000;">echo "192.168.1.104 <strong>node-psql02</strong> " &gt;&gt; /etc/hosts</span>
[root@node-esql01 ~]# <span style="color: #ff0000;">echo "192.168.1.105 <strong>node-psql03</strong> " &gt;&gt; /etc/hosts</span></pre>
<h3><span style="color: #000000;">Nodes HaProxy</span></h3>
<pre>[root@node-esql01 ~]# <span style="color: #ff0000;">echo "# Cluster HaProxy " &gt;&gt; /etc/hosts</span>
[root@node-esql01 ~]# <span style="color: #ff0000;">echo "192.168.1.106 <strong>node-hsql01</strong> " &gt;&gt; /etc/hosts</span>
[root@node-esql01 ~]# <span style="color: #ff0000;">echo "192.168.1.107 <strong>node-hsql02</strong> " &gt;&gt; /etc/hosts</span></pre>
<pre>[root@node-esql01 ~]# <span style="color: #ff0000;">cat /etc/hosts</span></pre>
<p><img decoding="async" width="858" height="234" class="wp-image-8088" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-3.png 858w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-3-300x82.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-3-768x209.png 768w" sizes="(max-width: 858px) 100vw, 858px" /></p>
<h3><span style="color: #000000;">Copy de /etc/hosts vers les hosts</span></h3>
<pre>[root@node-esql01 ~]#<span style="color: #ff0000;"> scp /etc/hosts root@<strong>node-esql02</strong>:/etc/hosts</span>
[root@node-esql01 ~]# <span style="color: #ff0000;">scp /etc/hosts root@<strong>node-esql03</strong>:/etc/hosts</span></pre>
<h3><span style="color: #000000;">Check résolution hosts</span></h3>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">ping -c 2 node-esql01</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">ping -c 2 node-esql02</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">ping -c 2 node-esql03</span></pre>
<p><img decoding="async" width="944" height="380" class="wp-image-8089" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-4.png 944w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-4-300x121.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-4-768x309.png 768w" sizes="(max-width: 944px) 100vw, 944px" /></p>
<h2><span style="color: #000000;">3. Désactiver SELinux (3 nodes)</span></h2>
<pre>[root@node-esql0x ~]#<span style="color: #ff0000;"> getenforce</span>
<em>Enforcing</em>

[root@node-esql0x ~]# <span style="color: #ff0000;">setenforce 0</span>
[root@node-esql0x ~]#<span style="color: #ff0000;"> getenforce</span>
<span style="color: #ff0000;"><em>Permissive</em></span>

[root@node-esql0x ~]# <span style="color: #ff0000;">sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config</span></pre>
<h2><span style="color: #000000;">4. Synchroniser DateTime sur le fuseau de PARIS (3 nodes)</span></h2>
<pre>[root@node-esql0x ~]#<span style="color: #ff0000;"> timedatectl</span></pre>
<p><img loading="lazy" decoding="async" width="614" height="125" class="wp-image-8090" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-5.png 614w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-5-300x61.png 300w" sizes="auto, (max-width: 614px) 100vw, 614px" /></p>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">timedatectl set-timezone Europe/Paris</span></pre>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">timedatectl</span></pre>
<p><img loading="lazy" decoding="async" width="663" height="125" class="wp-image-8091" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-6.png 663w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-6-300x57.png 300w" sizes="auto, (max-width: 663px) 100vw, 663px" /></p>
<h2><span style="color: #000000;">5. Installation des middlewares (3 nodes)</span></h2>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">dnf install epel-release net-tools nmap curl wget tar -y</span></pre>
<h2><span style="color: #000000;">6. Installation Cluster etcd (3 nodes)</span></h2>
<h3><span style="color: #000000;">Installation Repository etcd</span></h3>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">echo "ETCD_RELEASE=$(curl -s https://api.github.com/repos/etcd-io/etcd/releases/latest|grep tag_name | cut -d '"' -f 4)" &gt;&gt; ~/.bashrc</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">source ~/.bashrc</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">echo $ETCD_RELEASE</span>
<span style="color: #ff0000;"><strong><em>v3.5.7 </em></strong></span>

[root@node-esql0x ~]#<span style="color: #ff0000;"> cd /tmp &amp;&amp; wget https://github.com/etcd-io/etcd/releases/download/${ETCD_RELEASE}/etcd-${ETCD_RELEASE}-linux-amd64.tar.gz</span></pre>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">ls -al |grep etc</span></pre>
<p><img loading="lazy" decoding="async" width="799" height="62" class="wp-image-8092" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-7.png 799w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-7-300x23.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-7-768x60.png 768w" sizes="auto, (max-width: 799px) 100vw, 799px" /></p>
<h3><span style="color: #000000;">Installation binaire etcd</span></h3>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">tar -xzvf etcd-${ETCD_RELEASE}-linux-amd64.tar.gz</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">cd etcd-${ETCD_RELEASE}-linux-amd64/</span></pre>
<pre>[root@node-esql0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">ls -al |grep etc |grep -v READ</span></pre>
<p><img loading="lazy" decoding="async" width="774" height="82" class="wp-image-8093" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-8.png 774w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-8-300x32.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-8-768x81.png 768w" sizes="auto, (max-width: 774px) 100vw, 774px" /></p>
<pre>[root@node-esql0x etcd-v3.5.7-linux-amd64]#<span style="color: #ff0000;"> mv etcd* /usr/local/bin</span></pre>
<pre>[root@node-esql0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">ls /usr/local/bin</span></pre>
<p><em><img loading="lazy" decoding="async" width="668" height="70" class="wp-image-8094" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-9.png 668w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-9-300x31.png 300w" sizes="auto, (max-width: 668px) 100vw, 668px" /></em></p>
<pre>[root@node-esql0x etcd-v3.5.7-linux-amd64]#<span style="color: #ff0000;"> etcd --version</span>
[root@node-esql0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">etcdctl version</span>
[root@node-esql0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">etcdutl version</span></pre>
<p><img loading="lazy" decoding="async" width="740" height="175" class="wp-image-8095" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-10.png 740w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-10-300x71.png 300w" sizes="auto, (max-width: 740px) 100vw, 740px" /></p>
<h2><span style="color: #000000;">7. Installation/création de la structure ETCD</span></h2>
<h3><span style="color: #000000;"><strong>Création de la strucure etcd</strong></span></h3>
<pre>[root@node-esql0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">cd ~</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">mkdir -p /var/lib/etcd/</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">mkdir /etc/etcd</span></pre>
<h3><span style="color: #000000;"><strong>Création droit user/group etcd</strong></span></h3>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">groupadd --system etcd</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">useradd -s /sbin/nologin --system -g etcd etcd</span></pre>
<h3><span style="color: #000000;"><strong>Ajout des droits user/group etcd sur la structure</strong></span></h3>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">chown -R etcd:etcd /var/lib/etcd/</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">chmod -R 0700 /var/lib/etcd</span></pre>
<h3><span style="color: #000000;">Ouverture des rules Firewall</span></h3>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">firewall-cmd --zone=public --permanent --add-port={2379,2380}/tcp</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">firewall-cmd --remove-service={cockpit,dhcpv6-client} --permanent</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">firewall-cmd --reload</span>
[root@node-esql0x ~]# <span style="color: #ff0000;">firewall-cmd --list-port</span>
<span style="color: #ff0000;"><em>2379/tcp 2380/tcp </em></span></pre>
<pre>[root@node-esql0x ~]# <span style="color: #ff0000;">firewall-cmd --list-all</span></pre>
<p><img loading="lazy" decoding="async" width="673" height="175" class="wp-image-8096" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-11.png 673w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-11-300x78.png 300w" sizes="auto, (max-width: 673px) 100vw, 673px" /></p>
<h2><span style="color: #000000;">8. Configuration du cluster etcd</span></h2>
<h3><span style="color: #000000;"><strong>Création du Service etcd &nbsp;<span style="text-decoration: underline;">node-esql01</span></strong></span></h3>
<pre>[root@<strong><span style="color: #ff0000;">node-esql01</span></strong> ~]#<span style="color: #ff0000;"> systemctl stop etcd.service</span></pre>
<pre>[root@<strong><span style="color: #ff0000;">node-esql01</span></strong> ~]# <span style="color: #ff0000;">vi /etc/systemd/system/etcd.service</span>

<em><span style="color: #ff0000;">[Unit]</span></em>
<em><span style="color: #ff0000;">Description=etcd key-value store</span></em>
<em><span style="color: #ff0000;">Documentation=https://github.com/etcd-io/etcd</span></em>
<em><span style="color: #ff0000;">After=network.target</span></em>

<em><span style="color: #ff0000;">[Service]</span></em>
<em><span style="color: #ff0000;">User=etcd</span></em>
<em><span style="color: #ff0000;">Type=notify</span></em>
<em><span style="color: #ff0000;">ExecStart=/usr/local/bin/etcd \</span></em>
<em><span style="color: #ff0000;">--name <strong>node-esql01</strong> \</span></em>
<em><span style="color: #ff0000;">--data-dir /var/lib/etcd/<strong>node-esql01</strong> \</span></em>
<em><span style="color: #ff0000;">--initial-advertise-peer-urls http://<strong>192.168.1.100</strong>:2380 \</span></em>
<em><span style="color: #ff0000;">--listen-peer-urls http://<strong>192.168.1.100</strong>:2380 \</span></em>
<em><span style="color: #ff0000;">--listen-client-urls http://<strong>192.168.1.100</strong>:2379,http://127.0.0.1:2379 \</span></em>
<em><span style="color: #ff0000;">--advertise-client-urls http://<strong>192.168.1.100</strong>:2379 \</span></em>
<em><span style="color: #ff0000;">--initial-cluster-token <strong>clusterpsql</strong> \</span></em>
<em><span style="color: #ff0000;">--initial-cluster <strong>node-esql01</strong>=http://<strong>192.168.1.100</strong>:2380 \</span></em>
<em><span style="color: #ff0000;">--initial-cluster-state <strong>new </strong>\</span></em>
<em><span style="color: #ff0000;">--heartbeat-interval 1000 \</span></em>
<em><span style="color: #ff0000;">--election-timeout 5000 \</span></em>
<em><span style="color: #ff0000;"><strong>--enable-v2</strong></span></em>
<em><span style="color: #ff0000;">Restart=always</span></em>
<em><span style="color: #ff0000;">RestartSec=10s</span></em>
<em><span style="color: #ff0000;">LimitNOFILE=40000</span></em>

<em><span style="color: #ff0000;">[Install]</span></em>
<em><span style="color: #ff0000;">WantedBy=multi-user.target</span></em></pre>
<h4><span style="color: #000000;">On recharge le service</span></h4>
<pre>[root@<strong><span style="color: #ff0000;">node-esql01</span></strong> ~]# <span style="color: #ff0000;">systemctl daemon-reload</span></pre>
<h3><span style="color: #000000;"><strong>Création du Service etcd &nbsp;<span style="text-decoration: underline;">node-esql02</span></strong></span></h3>
<pre>[root@<strong><span style="color: #ff0000;">node-esql02</span></strong> ~]# <span style="color: #ff0000;">systemctl stop etcd.service</span></pre>
<pre>[root@<strong><span style="color: #ff0000;">node-esql02</span></strong> ~]# <span style="color: #ff0000;">vi /etc/systemd/system/etcd.service</span>

<em><span style="color: #ff0000;">[Unit]</span></em>
<em><span style="color: #ff0000;">Description=etcd key-value store</span></em>
<em><span style="color: #ff0000;">Documentation=https://github.com/etcd-io/etcd</span></em>
<em><span style="color: #ff0000;">After=network.target</span></em>

<em><span style="color: #ff0000;">[Service]</span></em>
<em><span style="color: #ff0000;">User=etcd</span></em>
<em><span style="color: #ff0000;">Type=notify</span></em>
<em><span style="color: #ff0000;">ExecStart=/usr/local/bin/etcd \</span></em>
<em><span style="color: #ff0000;">--name <strong>node-esql02</strong> \</span></em>
<em><span style="color: #ff0000;">--data-dir /var/lib/etcd/<strong>node-esql02</strong> \</span></em>
<em><span style="color: #ff0000;">--initial-advertise-peer-urls http://<strong>192.168.1.101</strong>:2380 \</span></em>
<em><span style="color: #ff0000;">--listen-peer-urls http://<strong>192.168.1.101</strong>:2380 \</span></em>
<em><span style="color: #ff0000;">--listen-client-urls http://<strong>192.168.1.101</strong>:2379,http://127.0.0.1:2379 \</span></em>
<em><span style="color: #ff0000;">--advertise-client-urls http://<strong>192.168.1.101</strong>:2379 \</span></em>
<em><span style="color: #ff0000;">--initial-cluster-token <strong>clusterpsql</strong> \</span></em>
<em><span style="color: #ff0000;">--initial-cluster <strong>node-esql01</strong>=http://<strong>192.168.1.100</strong>:2380,<strong>node-esql02</strong>=http://<strong>192.168.1.101</strong>:2380 \</span></em>
<em><span style="color: #ff0000;">--initial-cluster-state <strong>existing</strong> \</span></em>
<em><span style="color: #ff0000;">--heartbeat-interval 1000 \</span></em>
<em><span style="color: #ff0000;">--election-timeout 5000 \</span></em>
<em><span style="color: #ff0000;"><strong>--enable-v2</strong></span></em>
<em><span style="color: #ff0000;">Restart=always</span></em>
<em><span style="color: #ff0000;">RestartSec=10s</span></em>
<em><span style="color: #ff0000;">LimitNOFILE=40000</span></em>

<em><span style="color: #ff0000;">[Install]</span></em>
<em><span style="color: #ff0000;">WantedBy=multi-user.target</span></em></pre>
<h4><span style="color: #000000;">On recharge le service</span></h4>
<pre>[root@<strong><span style="color: #ff0000;">node-esql02</span></strong> ~]# <span style="color: #ff0000;">systemctl daemon-reload</span></pre>
<h3><span style="color: #000000;"><strong>Création du Service etcd &nbsp;<span style="text-decoration: underline;">node-esql03</span></strong></span></h3>
<pre>[root@<strong><span style="color: #ff0000;">node-esql03</span></strong> ~]# <span style="color: #ff0000;">systemctl stop etcd.service</span></pre>
<pre>[root@<strong><span style="color: #ff0000;">node-esql03</span></strong> ~]# <span style="color: #ff0000;">vi /etc/systemd/system/etcd.service</span>

<em><span style="color: #ff0000;">[Unit]</span></em>
<em><span style="color: #ff0000;">Description=etcd key-value store</span></em>
<em><span style="color: #ff0000;">Documentation=https://github.com/etcd-io/etcd</span></em>
<em><span style="color: #ff0000;">After=network.target</span></em>

<em><span style="color: #ff0000;">[Service]</span></em>
<em><span style="color: #ff0000;">User=etcd</span></em>
<em><span style="color: #ff0000;">Type=notify</span></em>
<em><span style="color: #ff0000;">ExecStart=/usr/local/bin/etcd \</span></em>
<em><span style="color: #ff0000;">--name <strong>node-esql03</strong> \</span></em>
<em><span style="color: #ff0000;">--data-dir /var/lib/etcd/<strong>node-esql03</strong> \</span></em>
<em><span style="color: #ff0000;">--initial-advertise-peer-urls http://<strong>192.168.1.102</strong>:2380 \</span></em>
<em><span style="color: #ff0000;">--listen-peer-urls http://<strong>192.168.1.102</strong>:2380 \</span></em>
<em><span style="color: #ff0000;">--listen-client-urls http://<strong>192.168.1.102</strong>:2379,http://127.0.0.1:2379 \</span></em>
<em><span style="color: #ff0000;">--advertise-client-urls http://<strong>192.168.1.102</strong>:2379 \</span></em>
<em><span style="color: #ff0000;">--initial-cluster-token <strong>clusterpsql</strong> \</span></em>
<em><span style="color: #ff0000;">--initial-cluster <strong>node-esql01</strong>=http://<strong>192.168.1.100</strong>:2380,<strong>node-esql02</strong>=http://<strong>192.168.1.101</strong>:2380,<strong>node-esql03</strong>=http://<strong>192.168.1.102</strong>:2380 \</span></em>
<em><span style="color: #ff0000;">--initial-cluster-state <strong>existing</strong> \</span></em>
<em><span style="color: #ff0000;">--heartbeat-interval 1000 \</span></em>
<em><span style="color: #ff0000;">--election-timeout 5000 \</span></em>
<em><span style="color: #ff0000;"><strong> --enable-v2</strong></span></em>
<em><span style="color: #ff0000;">Restart=always</span></em>
<em><span style="color: #ff0000;">RestartSec=10s</span></em>
<em><span style="color: #ff0000;">LimitNOFILE=40000</span></em>

<em><span style="color: #ff0000;">[Install]</span></em>
<em><span style="color: #ff0000;">WantedBy=multi-user.target</span></em></pre>
<h4><span style="color: #000000;">On recharge le service</span></h4>
<pre><span style="color: #000000;">[root@<strong><span style="color: #ff0000;">node-psql03</span></strong> ~]# <span style="color: #ff0000;">systemctl daemon-reload</span></span></pre>
<h2><span style="color: #000000;">9. Lancement du cluster etcd</span></h2>
<h3><span style="color: #000000;"><strong>Lancement etcd sur <span style="text-decoration: underline;">node-esql01</span></strong></span></h3>
<h4><span style="color: #000000;">On supprime des anciennes traces d’installation cluster</span></h4>
<pre>[root@<strong><span style="color: #ff0000;">node-esql01</span></strong> ~]# <span style="color: #ff0000;">rm -rf /var/lib/etcd/node-esql01</span>
[root@<strong><span style="color: #ff0000;">node-esql01</span> </strong>~]# <span style="color: #ff0000;">systemctl start etcd.service</span></pre>
<pre>[root@<strong><span style="color: #ff0000;">node-esql01</span></strong> ~]# <span style="color: #ff0000;">systemctl status etcd.service</span></pre>
<p><img loading="lazy" decoding="async" width="1558" height="307" class="wp-image-8097" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-12.png 1558w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-12-300x59.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-12-1024x202.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-12-768x151.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-12-1536x303.png 1536w" sizes="auto, (max-width: 1558px) 100vw, 1558px" /></p>
<h4><span style="color: #000000;">Ajout des membres du cluster sur&nbsp;node-esql01</span></h4>
<pre>[root@<strong><span style="color: #ff0000;">node-esql01</span></strong> ~]# <span style="color: #ff0000;">etcdctl member add <strong>node-esql02</strong> --peer-urls=http://<strong>192.168.1.101:2380</strong></span></pre>
<p><img loading="lazy" decoding="async" width="888" height="131" class="wp-image-8098" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-13.png 888w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-13-300x44.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-13-768x113.png 768w" sizes="auto, (max-width: 888px) 100vw, 888px" /></p>
<pre>[root@<strong><span style="color: #ff0000;">node-esql01</span></strong> ~]# <span style="color: #ff0000;">etcdctl member add <strong>node-esql03</strong> --peer-urls=http://<strong>192.168.1.102:2380</strong></span></pre>
<p><em><img loading="lazy" decoding="async" width="1128" height="130" class="wp-image-8099" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-14.png 1128w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-14-300x35.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-14-1024x118.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-14-768x89.png 768w" sizes="auto, (max-width: 1128px) 100vw, 1128px" /></em></p>
<h3><span style="color: #000000;">Démarrage/Création du Cluster ETCD</span></h3>
<h4><span style="color: #000000;">Lancement etcd <span style="text-decoration: underline;">node-esql01</span></span></h4>
<pre>[root@<strong><span style="color: #ff0000;">node-esql01</span></strong> ~]# <span style="color: #ff0000;">systemctl start --now etcd</span>
[root@<strong><span style="color: #ff0000;">node-esql01</span></strong> ~]# <span style="color: #ff0000;">systemctl enable etcd.service</span></pre>
<h4><span style="color: #000000;">Lancement etcd <span style="text-decoration: underline;">node-esql02</span></span></h4>
<pre>[root@<strong><span style="color: #ff0000;">node-esql02</span></strong> ~]# <span style="color: #ff0000;">systemctl start --now etcd</span>
[root@<strong><span style="color: #ff0000;">node-esql02</span></strong> ~]# <span style="color: #ff0000;">systemctl enable etcd.service</span></pre>
<h4><span style="color: #000000;">Lancement etcd <span style="text-decoration: underline;">node-esql03</span></span></h4>
<pre>[root@<strong><span style="color: #ff0000;">node-esql03</span></strong> ~]# <span style="color: #ff0000;">systemctl start --now etcd</span>
[root@<strong><span style="color: #ff0000;">node-esql03</span></strong> ~]# <span style="color: #ff0000;">systemctl enable etcd.service</span></pre>
<h2><span style="color: #000000;">10. Check du Cluster ETCD</span></h2>
<h3><span style="color: #000000;"><strong>Check «&nbsp;Status&nbsp;» des membres </strong></span></h3>
<pre>[root@node-esql01 ~]# <span style="color: #ff0000;">etcdctl -w table member list</span></pre>
<p><img loading="lazy" decoding="async" width="961" height="141" class="wp-image-8100" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-15.png 961w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-15-300x44.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-15-768x113.png 768w" sizes="auto, (max-width: 961px) 100vw, 961px" /></p>
<h3><span style="color: #000000;"><strong>Check «&nbsp;Health&nbsp;» des membres </strong></span></h3>
<pre>[root@node-esql01 ~]# <span style="color: #ff0000;">etcdctl endpoint health --endpoints=192.168.1.100:2380,192.168.1.101:2380,192.168.1.101:2380 health</span></pre>
<p><img loading="lazy" decoding="async" width="1022" height="88" class="wp-image-8101" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-16.png 1022w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-16-300x26.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-16-768x66.png 768w" sizes="auto, (max-width: 1022px) 100vw, 1022px" /></p>
<pre>[root@node-esql01 ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=192.168.1.100:2380,192.168.1.101:2380,192.168.1.101:2380 endpoint status</span></pre>
<p><img loading="lazy" decoding="async" width="1236" height="144" class="wp-image-8102" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-17.png 1236w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-17-300x35.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-17-1024x119.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/03/word-image-8085-17-768x89.png 768w" sizes="auto, (max-width: 1236px) 100vw, 1236px" /></p>
<p>Views: 8</p><p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-1-postgresql-ha-installation-du-cluster-etcd/">MODOP – Partie 1 &#8211; PostgreSQL HA &#8211; Installation du Cluster ETCD</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-partie-1-postgresql-ha-installation-du-cluster-etcd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP &#8211; Installation d’un Cluster etcd</title>
		<link>https://coffeebreak.en-images.info/modop-installation-dun-cluster-etcd/</link>
					<comments>https://coffeebreak.en-images.info/modop-installation-dun-cluster-etcd/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Mon, 13 Feb 2023 16:40:23 +0000</pubDate>
				<category><![CDATA[Cluster Mysql/MariaDB]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[RedHat/Centos Linux]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[ETCD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=7745</guid>

					<description><![CDATA[<p>MODOP - Mise ne place d'un cluster ETCD permettant le stockage et la distribution de données-clé-valeur à destination de cluster machines. Cela peut être assimilé à une base de données distribuée stockant les configurations systèmes, la découverte de services, de comptes, la coordination et la gestion des Hôtes d'un cluster, etc. Il est souvent utilisé dans le cas de cluster de machine comme kubernetes , MySQL , PostgreSQL, etc.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-installation-dun-cluster-etcd/">MODOP &#8211; Installation d’un Cluster etcd</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span style="color: #000000;">Inventaire</span></h2>
<ul>
<li><strong><span style="color: #000000;">Node-etcd01</span></strong>
<ul>
<li>IP&nbsp;: 192.168.1.40/24</li>
<li>OS&nbsp;: Rocky Linux 8.5</li>
<li>RAM&nbsp;: 2Go</li>
<li>CPU&nbsp;: 1</li>
<li>Disk&nbsp;: 32Go</li>
</ul>
</li>
<li><strong>Node-etcd02</strong>
<ul>
<li>IP&nbsp;: 192.168.1.41/24</li>
<li>OS&nbsp;: Rocky Linux 8.5</li>
<li>RAM&nbsp;: 2Go</li>
<li>CPU&nbsp;: 1</li>
<li>Disk&nbsp;: 32Go</li>
</ul>
</li>
<li><strong><span style="color: #000000;">Node-etcd03</span></strong>
<ul>
<li>IP&nbsp;: 192.168.1.42/24</li>
<li>OS&nbsp;: Rocky Linux 8.5</li>
<li>RAM&nbsp;: 2Go</li>
<li>CPU&nbsp;: 1</li>
<li>Disk&nbsp;: 32Go</li>
</ul>
</li>
</ul>
<h3><strong><span style="color: #000000;">Pool des machines du cluster ETCD</span></strong></h3>
<p><img loading="lazy" decoding="async" width="1138" height="180" class="wp-image-7746" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-1.png 1138w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-1-300x47.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-1-1024x162.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-1-768x121.png 768w" sizes="auto, (max-width: 1138px) 100vw, 1138px" /></p>
<h2><span style="color: #000000;">1. Prérequis des machines du Pool ETCD</span></h2>
<h3><span style="color: #000000;">Mise à jour de la machine (3 nodes)</span></h3>
<pre>[root@node-etcd0x ~]# <span style="color: #ff0000;">dnf update -y</span></pre>
<h3><span style="color: #000000;">Ajout des Hosts (pas de DNS)</span></h3>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">echo "192.168.1.40 node-etcd01 " &gt;&gt; /etc/hosts</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">echo "192.168.1.41 node-etcd02 " &gt;&gt; /etc/hosts</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">echo "192.168.1.42 node-etcd03 " &gt;&gt; /etc/hosts</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">scp /etc/hosts root@node-etcd02:/etc/hosts</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">scp /etc/hosts root@node-etcd03:/etc/hosts</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">ping -c 2 node-etcd01</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">ping -c 2 node-etcd02</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">ping -c 2 node-etcd03</span></pre>
<p><img loading="lazy" decoding="async" width="889" height="307" class="wp-image-7747" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-2.png 889w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-2-300x104.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-2-768x265.png 768w" sizes="auto, (max-width: 889px) 100vw, 889px" /></p>
<h3><span style="color: #000000;">Désactiver SELinux (3 nodes)</span></h3>
<pre>[root@node-etcd0x ~]#<span style="color: #ff0000;"> getenforce</span>
<span style="color: #ff0000;"><em>Enforcing</em></span>

[root@node-etcd0x ~]# <span style="color: #ff0000;">setenforce 0</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">getenforce</span>
<span style="color: #ff0000;"><em>Permissive</em></span>

[root@node-etcd0x ~]# <span style="color: #ff0000;">sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config</span></pre>
<h3><span style="color: #000000;">Synchroniser DateTime sur le fuseau de PARIS (3 nodes)</span></h3>
<pre>[root@node-etcd0x ~]# <span style="color: #ff0000;">timedatectl</span></pre>
<p><img loading="lazy" decoding="async" width="699" height="125" class="wp-image-7748" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-3.png 699w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-3-300x54.png 300w" sizes="auto, (max-width: 699px) 100vw, 699px" /></p>
<pre>[root@node-etcd0x ~]# <span style="color: #ff0000;">timedatectl set-timezone Europe/Paris</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">timedatectl</span></pre>
<p><img loading="lazy" decoding="async" width="718" height="142" class="wp-image-7749" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-4.png 718w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-4-300x59.png 300w" sizes="auto, (max-width: 718px) 100vw, 718px" /></p>
<h3><span style="color: #000000;">Installation des middlewares utiles (3 nodes)</span></h3>
<pre>[root@node-etcd0x ~]# <span style="color: #ff0000;">dnf install epel-release net-tools nmap wget tar -y</span></pre>
<h2><span style="color: #000000;">2. Récupération « latest » etcd (3 nodes)</span></h2>
<pre>[root@node-etcd0x ~]# <span style="color: #ff0000;">echo "ETCD_RELEASE=$(curl -s https://api.github.com/repos/etcd-io/etcd/releases/latest|grep tag_name | cut -d '"' -f 4)" &gt;&gt; ~/.bashrc</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">source ~/.bashrc</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">echo $ETCD_RELEASE</span>
<span style="color: #ff0000;"><em>v3.5.7</em></span>

[root@node0x-psql tmp]# <span style="color: #ff0000;">cd /tmp &amp;&amp; wget <a style="color: #ff0000;" href="https://github.com/etcd-io/etcd/releases/download/$%7bETCD_RELEASE%7d/etcd-$%7bETCD_RELEASE%7d-linux-amd64.tar.gz">https://github.com/etcd-io/etcd/releases/download/${ETCD_RELEASE}/etcd-${ETCD_RELEASE}-linux-amd64.tar.gz</a></span>
[root@node-etcd0x tmp]# <span style="color: #ff0000;">ls -al |grep etc</span>
<span style="color: #ff0000;">-rw-r--r--. 1 root root 18458320 20 janv. 11:23 etcd-v3.5.7-linux-amd64.tar.gz</span></pre>
<h2><span style="color: #000000;">3. Installation des binaires etcd (3 nodes)</span></h2>
<pre>[root@node-etcd0x tmp]# <span style="color: #ff0000;">tar -xzvf etcd-${ETCD_RELEASE}-linux-amd64.tar.gz</span>
[root@node-etcd0x tmp]# <span style="color: #ff0000;">cd etcd-${ETCD_RELEASE}-linux-amd64/</span></pre>
<pre>[root@node-etcd0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">ls -al</span></pre>
<p><img loading="lazy" decoding="async" width="772" height="204" class="wp-image-7750" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-5.png 772w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-5-300x79.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-5-768x203.png 768w" sizes="auto, (max-width: 772px) 100vw, 772px" /></p>
<pre>[root@node-etcd0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">mv etcd* /usr/local/bin</span>
[root@node-etcd0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">ls /usr/local/bin</span>
<span style="color: #ff0000;"><em>etcd etcdctl etcdutl</em></span></pre>
<pre>[root@node-etcd0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">etcdutl version</span>
[root@node-etcd0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">etcdctl version</span>
[root@node-etcd0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">etcd --version</span></pre>
<p><img loading="lazy" decoding="async" width="752" height="175" class="wp-image-7751" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-6.png 752w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-6-300x70.png 300w" sizes="auto, (max-width: 752px) 100vw, 752px" /></p>
<h2><span style="color: #000000;">4. Installation/création du service etcd (3 nodes)</span></h2>
<h3><span style="color: #000000;">Création de la strucure etcd (3 nodes)</span></h3>
<pre>[root@node-etcd0x etcd-v3.5.7-linux-amd64]# <span style="color: #ff0000;">cd ~</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">mkdir -p /var/lib/etcd/</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">mkdir /etc/etcd</span></pre>
<h3><span style="color: #000000;">Création droit user/group etcd (3 nodes)</span></h3>
<pre>[root@node-etcd0x ~]# <span style="color: #ff0000;">groupadd --system etcd</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">useradd -s /sbin/nologin --system -g etcd etcd</span></pre>
<h3><span style="color: #000000;">Ajout des droits user/group etcd sur la structure (3 nodes)</span></h3>
<pre>[root@node-etcd0x ~]# <span style="color: #ff0000;">chown -R etcd:etcd /var/lib/etcd/</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">chmod -R 0700 /var/lib/etcd</span></pre>
<h3><span style="color: #000000;">Ouverture des rules Firewall (3 nodes)</span></h3>
<pre>[root@node-etcd0x ~]# <span style="color: #ff0000;">firewall-cmd --zone=public --permanent --add-port={2379,2380}/tcp</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">firewall-cmd --remove-service={cockpit,dhcpv6-client} --permanent</span>
[root@node-etcd0x ~]# <span style="color: #ff0000;">firewall-cmd --reload</span>

[root@node-etcd0x ~]# <span style="color: #ff0000;">firewall-cmd --list-port</span>
<em><span style="color: #ff0000;">2379/tcp 2380/tcp</span> </em></pre>
<h2><span style="color: #000000;">5. Configuration du cluster etcd</span></h2>
<h4><span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;"><strong>Service etcd node-etcd01</strong></span></span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">systemctl stop etcd.service</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">vi /etc/systemd/system/etcd.service</span>

<span style="color: #ff0000;"><em>[Unit]</em></span>
<span style="color: #ff0000;"><em>Description=etcd key-value store</em></span>
<span style="color: #ff0000;"><em>Documentation=https://github.com/etcd-io/etcd</em></span>
<span style="color: #ff0000;"><em>After=network.target</em></span>
<span style="color: #ff0000;"><em>[Service]</em></span>
<span style="color: #ff0000;"><em>User=etcd</em></span>
<span style="color: #ff0000;"><em>Type=notify</em></span>
<span style="color: #ff0000;"><em>ExecStart=/usr/local/bin/etcd \</em></span>
<span style="color: #ff0000;"><em> --name </em><strong><em>node-etcd01</em></strong><em> \</em></span>
<span style="color: #ff0000;"><em> --data-dir /var/lib/etcd/</em><strong><em>node-etcd01</em></strong><em> \</em></span>
<span style="color: #ff0000;"><em> --initial-advertise-peer-urls http://</em><strong><em>192.168.1.40</em></strong><em>:2380 \</em></span>
<span style="color: #ff0000;"><em> --listen-peer-urls http://</em><strong><em>192.168.1.40</em></strong><em>:2380 \</em></span>
<span style="color: #ff0000;"><em> --listen-client-urls http://</em><strong><em>192.168.1.40</em></strong><em>:2379,http://127.0.0.1:2379 \</em></span>
<span style="color: #ff0000;"><em> --advertise-client-urls http://</em><strong><em>192.168.1.40</em></strong><em>:2379 \</em></span>
<span style="color: #ff0000;"><em> --initial-cluster-token clusterpsql \</em></span>
<span style="color: #ff0000;"><em> --initial-cluster node-etcd01=http://</em><strong><em>192.168.1.40</em></strong><em>:2380 \</em></span>
<span style="color: #ff0000;"><em> --initial-cluster-state </em><strong><em>new</em></strong><em> \</em></span>
<span style="color: #ff0000;"><em> --heartbeat-interval 1000 \</em></span>
<span style="color: #ff0000;"><em> --election-timeout 5000</em></span>
<span style="color: #ff0000;"><em>Restart=always</em></span>
<span style="color: #ff0000;"><em>RestartSec=10s</em></span>
<span style="color: #ff0000;"><em>LimitNOFILE=40000</em></span>

<span style="color: #ff0000;"><em>[Install]</em></span>
<span style="color: #ff0000;"><em>WantedBy=multi-user.target</em></span></pre>
<h5><span style="color: #000000;">On recharge le service</span></h5>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">systemctl daemon-reload</span></pre>
<h4><span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;"><strong>Service etcd node-etcd02</strong></span></span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd02</span> ~]# <span style="color: #ff0000;">systemctl stop etcd.service</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd02</span> ~]# <span style="color: #ff0000;">vi /etc/systemd/system/etcd.service</span>

<span style="color: #ff0000;">[Unit]</span>
<span style="color: #ff0000;">Description=etcd key-value store</span>
<span style="color: #ff0000;">Documentation=https://github.com/etcd-io/etcd</span>
<span style="color: #ff0000;">After=network.target</span>
<span style="color: #ff0000;">[Service]</span>
<span style="color: #ff0000;">User=etcd</span>
<span style="color: #ff0000;">Type=notify</span>
<span style="color: #ff0000;">ExecStart=/usr/local/bin/etcd \</span>
<span style="color: #ff0000;">--name <strong>node-etcd02</strong> \</span>
<span style="color: #ff0000;">--data-dir /var/lib/etcd/<strong>node-etcd02</strong> \</span>
<span style="color: #ff0000;">--initial-advertise-peer-urls http://<strong>192.168.1.41</strong>:2380 \</span>
<span style="color: #ff0000;">--listen-peer-urls http://<strong>192.168.1.41</strong>:2380 \</span>
<span style="color: #ff0000;">--listen-client-urls http://<strong>192.168.1.41</strong>:2379,http://127.0.0.1:2379 \</span>
<span style="color: #ff0000;">--advertise-client-urls http://<strong>192.168.1.41</strong>:2379 \</span>
<span style="color: #ff0000;">--initial-cluster-token clusterpsql \</span>
<span style="color: #ff0000;">--initial-cluster <strong>node-etcd01</strong>=http://<strong>192.168.1.40</strong>:2380,<strong>node-etcd02</strong>=http://<strong>192.168.1.41</strong>:2380\</span>
<span style="color: #ff0000;">--initial-cluster-state <strong>existing</strong> \</span>
<span style="color: #ff0000;">--heartbeat-interval 1000 \</span>
<span style="color: #ff0000;">--election-timeout 5000</span>
<span style="color: #ff0000;">Restart=always</span>
<span style="color: #ff0000;">RestartSec=10s</span>
<span style="color: #ff0000;">LimitNOFILE=40000</span>

<span style="color: #ff0000;">[Install]</span>
<span style="color: #ff0000;">WantedBy=multi-user.target</span></pre>
<h5><span style="color: #000000;">On recharge le service</span></h5>
<pre>[root@<span style="color: #ff0000;">node-etcd02</span> ~]# <span style="color: #ff0000;">systemctl daemon-reload</span></pre>
<h4><span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;"><strong>Service etcd node-etcd03</strong></span></span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd03</span> ~]# <span style="color: #ff0000;">systemctl stop etcd.service</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd03</span> ~]#<span style="color: #ff0000;"> vi /etc/systemd/system/etcd.service</span>

<span style="color: #ff0000;">[Unit]</span>
<span style="color: #ff0000;">Description=etcd key-value store</span>
<span style="color: #ff0000;">Documentation=https://github.com/etcd-io/etcd</span>
<span style="color: #ff0000;">After=network.target</span>

<span style="color: #ff0000;">[Service]</span>
<span style="color: #ff0000;">User=etcd</span>
<span style="color: #ff0000;">Type=notify</span>
<span style="color: #ff0000;">ExecStart=/usr/local/bin/etcd \</span>
<span style="color: #ff0000;">--name <strong>node-etcd03</strong> \</span>
<span style="color: #ff0000;">--data-dir /var/lib/etcd/<strong>node-etcd03</strong> \</span>
<span style="color: #ff0000;">--initial-advertise-peer-urls http://<strong>192.168.1.42</strong>:2380 \</span>
<span style="color: #ff0000;">--listen-peer-urls http://<strong>192.168.1.42</strong>:2380 \</span>
<span style="color: #ff0000;">--listen-client-urls http://<strong>192.168.1.42</strong>:2379,http://127.0.0.1:2379 \</span>
<span style="color: #ff0000;">--advertise-client-urls http://<strong>192.168.1.42</strong>:2379 \</span>
<span style="color: #ff0000;">--initial-cluster-token clusterpsql \</span>
<span style="color: #ff0000;">--initial-cluster <strong>node-etcd01</strong>=http://<strong>192.168.1.40</strong>:2380,<strong>node-etcd02</strong>=http://<strong>192.168.1.41</strong>:2380,<strong>node-etcd03</strong>=http://<strong>192.168.1.42</strong>:2380 \</span>
<span style="color: #ff0000;">--initial-cluster-state <strong>existing</strong> \</span>
<span style="color: #ff0000;">--heartbeat-interval 1000 \</span>
<span style="color: #ff0000;">--election-timeout 5000</span>
<span style="color: #ff0000;">Restart=always</span>
<span style="color: #ff0000;">RestartSec=10s</span>
<span style="color: #ff0000;">LimitNOFILE=40000</span>

<span style="color: #ff0000;">[Install]</span>

<span style="color: #ff0000;">WantedBy=multi-user.target</span></pre>
<h5><span style="color: #000000;">On recharge le service</span></h5>
<pre>[root@<span style="color: #ff0000;">node-etcd03</span> ~]# <span style="color: #ff0000;">systemctl daemon-reload</span></pre>
<h2><span style="color: #000000;">6. Lancement du cluster etcd</span></h2>
<h4><span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;"><strong>Lancement etcd node-etcd01</strong></span></span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">rm -rf /var/lib/etcd/node-etcd01</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">systemctl start etcd.service</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">systemctl status etcd.service</span></pre>
<p><img loading="lazy" decoding="async" width="1584" height="321" class="wp-image-7752" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-7.png 1584w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-7-300x61.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-7-1024x208.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-7-768x156.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-7-1536x311.png 1536w" sizes="auto, (max-width: 1584px) 100vw, 1584px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">ls -al /var/lib/etcd/node-etcd01</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">ls -al /var/lib/etcd/node-etcd01/member/</span></pre>
<p><em><img loading="lazy" decoding="async" width="838" height="184" class="wp-image-7753" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-8.png 838w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-8-300x66.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-8-768x169.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px" /></em></p>
<h5><span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;">Ajout des membres au cluster sur node-etcd01</span></span></h5>
<pre>[root@<span style="color: #ff0000;">node-etcd02</span> ~]# <span style="color: #ff0000;">systemctl start --now etcd.service</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl member add node-etcd02 --peer-urls=http://192.168.1.41:2380</span></pre>
<p><img loading="lazy" decoding="async" width="935" height="120" class="wp-image-7754" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-9.png 935w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-9-300x39.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-9-768x99.png 768w" sizes="auto, (max-width: 935px) 100vw, 935px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd03</span> ~]# <span style="color: #ff0000;">systemctl start --now etcd.service</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl member add node-etcd03 --peer-urls=http://192.168.1.42:2380</span></pre>
<p><em><img loading="lazy" decoding="async" width="1121" height="136" class="wp-image-7755" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-10.png 1121w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-10-300x36.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-10-1024x124.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-10-768x93.png 768w" sizes="auto, (max-width: 1121px) 100vw, 1121px" /></em></p>
<h4><span style="color: #000000;"><strong>Démarrage/Création du Cluster ETCD&nbsp;</strong></span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">systemctl start --now etcd</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">systemctl enable etcd.service</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">systemctl status etcd</span></pre>
<p><img loading="lazy" decoding="async" width="1579" height="164" class="wp-image-7756" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-11.png 1579w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-11-300x31.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-11-1024x106.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-11-768x80.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-11-1536x160.png 1536w" sizes="auto, (max-width: 1579px) 100vw, 1579px" /></p>
<h3><span style="color: #000000;">Lancement etcd node-etcd02</span></h3>
<pre>[root@<span style="color: #ff0000;">node-etcd02</span> ~]# <span style="color: #ff0000;">systemctl start --now etcd</span>
[root@<span style="color: #ff0000;">node-etcd02</span> ~]# <span style="color: #ff0000;">systemctl enable etcd.service</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd02</span> ~]# <span style="color: #ff0000;">systemctl status etcd</span></pre>
<p><img loading="lazy" decoding="async" width="1562" height="234" class="wp-image-7757" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-12.png 1562w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-12-300x45.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-12-1024x153.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-12-768x115.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-12-1536x230.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<h3><span style="color: #000000;">Lancement etcd node-etcd03</span></h3>
<pre>[root@<span style="color: #ff0000;">node-etcd03</span> ~]# <span style="color: #ff0000;">systemctl start --now etcd</span>
[root@<span style="color: #ff0000;">node-etcd03</span> ~]# <span style="color: #ff0000;">systemctl enable etcd.service</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd03</span> ~]# <span style="color: #ff0000;">systemctl status etcd</span></pre>
<p><img loading="lazy" decoding="async" width="1567" height="245" class="wp-image-7758" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-13.png 1567w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-13-300x47.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-13-1024x160.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-13-768x120.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-13-1536x240.png 1536w" sizes="auto, (max-width: 1567px) 100vw, 1567px" /></p>
<h2><span style="color: #000000;">7. Check du Cluster ETCD</span></h2>
<h3><span style="color: #000000;">Check «&nbsp;Status&nbsp;» des membres (node01)</span></h3>
<pre><span style="color: #000000;">[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl member list</span></span></pre>
<p><img loading="lazy" decoding="async" width="927" height="92" class="wp-image-7759" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-14.png 927w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-14-300x30.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-14-768x76.png 768w" sizes="auto, (max-width: 927px) 100vw, 927px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl -w table member list</span></pre>
<p><img loading="lazy" decoding="async" width="1004" height="146" class="wp-image-7760" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-15.png 1004w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-15-300x44.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-15-768x112.png 768w" sizes="auto, (max-width: 1004px) 100vw, 1004px" /></p>
<h3><span style="color: #000000;">Check «&nbsp;Health&nbsp;» des membres (node01)</span></h3>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl endpoint health --endpoints=192.168.1.40:2380</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl endpoint health --endpoints=192.168.1.41:2380</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl endpoint health --endpoints=192.168.1.42:2380</span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl endpoint health</span></pre>
<p><em><img loading="lazy" decoding="async" width="784" height="148" class="wp-image-7761" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-16.png 784w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-16-300x57.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-16-768x145.png 768w" sizes="auto, (max-width: 784px) 100vw, 784px" /></em></p>
<pre>root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=node-etcd01:2380 endpoint status</span>
root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=node-etcd02:2380 endpoint status</span>
root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=node-etcd02:2380 endpoint status</span></pre>
<p><img loading="lazy" decoding="async" width="1188" height="287" class="wp-image-7762" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-17.png 1188w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-17-300x72.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-17-1024x247.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-17-768x186.png 768w" sizes="auto, (max-width: 1188px) 100vw, 1188px" /></p>
<h3><span style="color: #000000;">Check «&nbsp;Transactions&nbsp;» des membres (node01)</span></h3>
<pre>root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=192.168.1.40:2380 put user1 chris</span>
<span style="color: #ff0000;"><em>OK</em></span>

root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=192.168.1.41:2380 get user1</span>
<span style="color: #ff0000;"><em>user1</em></span>
<span style="color: #ff0000;"><em>chris</em></span>

root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=192.168.1.42:2380 get user1</span>
<span style="color: #ff0000;"><em>user1</em></span>
<span style="color: #ff0000;"><em>chris</em></span>

root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=192.168.1.40:2380 get user1</span>
<span style="color: #ff0000;"><em>user1</em></span>
<span style="color: #ff0000;"><em>chris</em></span></pre>
<p><img loading="lazy" decoding="async" width="993" height="190" class="wp-image-7763" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-18.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-18.png 993w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-18-300x57.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-18-768x147.png 768w" sizes="auto, (max-width: 993px) 100vw, 993px" /></p>
<h3><span style="color: #000000;">Check « Create/Save DBA» des membres (node01)</span></h3>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=<strong>192.168.1.40</strong>:2379 snapshot save node-etcd01.db</span></pre>
<p><img loading="lazy" decoding="async" width="1433" height="130" class="wp-image-7764" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-19.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-19.png 1433w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-19-300x27.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-19-1024x93.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-19-768x70.png 768w" sizes="auto, (max-width: 1433px) 100vw, 1433px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=<strong>192.168.1.41</strong>:2379 snapshot save node-etcd02.db</span></pre>
<p><img loading="lazy" decoding="async" width="1447" height="127" class="wp-image-7765" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-20.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-20.png 1447w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-20-300x26.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-20-1024x90.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-20-768x67.png 768w" sizes="auto, (max-width: 1447px) 100vw, 1447px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=<strong>192.168.1.42</strong>:2379 snapshot save node-etcd03.db</span></pre>
<p><img loading="lazy" decoding="async" width="1441" height="138" class="wp-image-7766" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-21.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-21.png 1441w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-21-300x29.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-21-1024x98.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-21-768x74.png 768w" sizes="auto, (max-width: 1441px) 100vw, 1441px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">ls -al |grep node</span></pre>
<p><img loading="lazy" decoding="async" width="613" height="89" class="wp-image-7767" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-22.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-22.png 613w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-22-300x44.png 300w" sizes="auto, (max-width: 613px) 100vw, 613px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=node-etcd01:2380 endpoint status</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=node-etcd02:2380 endpoint status</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]#<span style="color: #ff0000;"> etcdctl --write-out=table --endpoints=node-etcd03:2380 endpoint status</span></pre>
<p><img loading="lazy" decoding="async" width="1147" height="287" class="wp-image-7768" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-23.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-23.png 1147w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-23-300x75.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-23-1024x256.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-23-768x192.png 768w" sizes="auto, (max-width: 1147px) 100vw, 1147px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=<strong>192.168.1.40:2380</strong> snapshot status node-etcd01.db</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=<strong>192.168.1.40:2380</strong> snapshot status node-etcd02.db</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=<strong>192.168.1.40:2380</strong> snapshot status node-etcd03.db</span></pre>
<p><img loading="lazy" decoding="async" width="1180" height="365" class="wp-image-7769" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-24.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-24.png 1180w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-24-300x93.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-24-1024x317.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-24-768x238.png 768w" sizes="auto, (max-width: 1180px) 100vw, 1180px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]#<span style="color: #ff0000;"> etcdutl snapshot status node-etcd01.db</span>
<span style="color: #ff0000;"><em>7a62a45b, 2, 9, 20 kB</em></span>

[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdutl snapshot status node-etcd02.db</span>
<span style="color: #ff0000;"><em>7a62a45b, 2, 9, 20 kB</em></span>

[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdutl snapshot status node-etcd03.db</span>
<span style="color: #ff0000;"><em>7a62a45b, 2, 9, 20 kB</em></span></pre>
<h3><span style="color: #000000;">Change «&nbsp;leader» des membres (node01)</span></h3>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]#<span style="color: #ff0000;"> etcdctl --write-out=table --endpoints=node01-psql:2380 endpoint status</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=node02-psql:2380 endpoint status</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]#<span style="color: #ff0000;"> etcdctl --write-out=table --endpoints=node03-psql:2380 endpoint status</span></pre>
<p><img loading="lazy" decoding="async" width="1215" height="285" class="wp-image-7770" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-25.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-25.png 1215w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-25-300x70.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-25-1024x240.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-25-768x180.png 768w" sizes="auto, (max-width: 1215px) 100vw, 1215px" /></p>
<h4><span style="color: #000000;">Change le leader du node01 vers le node02 (node01)</span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]#<span style="color: #ff0000;"> etcdctl --write-out=table --endpoints=node-etcd02:2380 endpoint status</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=node-etcd01:2380 move-leader<strong> a782ed7d378b33b3</strong></span></pre>
<p><img loading="lazy" decoding="async" width="1242" height="145" class="wp-image-7771" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-26.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-26.png 1242w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-26-300x35.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-26-1024x120.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-26-768x90.png 768w" sizes="auto, (max-width: 1242px) 100vw, 1242px" /></p>
<h4><span style="color: #000000;">Check nouveau leader node-etcd02 (node01)</span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=node-etcd01:2380 endpoint status</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=node-etcd02:2380 endpoint status</span>
[root@<span style="color: #ff0000;">node-etcd01</span> ~]#<span style="color: #ff0000;"> etcdctl --write-out=table --endpoints=node-etcd03:2380 endpoint status</span></pre>
<p><img loading="lazy" decoding="async" width="1208" height="291" class="wp-image-7772" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-27.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-27.png 1208w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-27-300x72.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-27-1024x247.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-27-768x185.png 768w" sizes="auto, (max-width: 1208px) 100vw, 1208px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --write-out=table --endpoints=node-etcd01:2380,node-etcd02:2380,node-etcd03:2380 endpoint status</span></pre>
<p><img loading="lazy" decoding="async" width="1254" height="144" class="wp-image-7773" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-28.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-28.png 1254w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-28-300x34.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-28-1024x118.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-28-768x88.png 768w" sizes="auto, (max-width: 1254px) 100vw, 1254px" /></p>
<h3><span style="color: #000000;">Check Ecriture/Lecture de données (node01)</span></h3>
<h4><span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;">Ecriture d’un texte (data)</span></span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=node-etcd01:2380,node-etcd02:2380,node-etcd03:2380 put <strong>msg</strong> "<strong>Christian - Cluster ETCD</strong>"</span>
<span style="color: #ff0000;"><em>OK</em></span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]#<span style="color: #ff0000;"> etcdctl --write-out=table --endpoints=node-etcd01:2380,node-etcd02:2380,node-etcd03:2380 endpoint status</span></pre>
<p><em><img loading="lazy" decoding="async" width="1147" height="281" class="wp-image-7774" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-29.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-29.png 1147w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-29-300x73.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-29-1024x251.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-29-768x188.png 768w" sizes="auto, (max-width: 1147px) 100vw, 1147px" /></em></p>
<h4><span style="color: #000000;">Lecture du texte (data)</span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd01</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=node-etcd01:2380,node-etcd02:2380,node-etcd03:2380 get <strong>msg</strong></span></pre>
<p><img loading="lazy" decoding="async" width="865" height="76" class="wp-image-7775" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-30.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-30.png 865w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-30-300x26.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-30-768x67.png 768w" sizes="auto, (max-width: 865px) 100vw, 865px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd02</span> ~]#<span style="color: #ff0000;"> etcdctl --endpoints=node-etcd01:2380,node-etcd02:2380,node-etcd03:2380 get <strong>msg</strong></span></pre>
<p><img loading="lazy" decoding="async" width="889" height="84" class="wp-image-7776" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-31.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-31.png 889w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-31-300x28.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-31-768x73.png 768w" sizes="auto, (max-width: 889px) 100vw, 889px" /></p>
<pre>[root@<span style="color: #ff0000;">node-etcd03</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=node-etcd01:2380,node-etcd02:2380,node-etcd03:2380 get <strong>msg</strong></span></pre>
<p><img loading="lazy" decoding="async" width="882" height="71" class="wp-image-7777" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-32.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-32.png 882w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-32-300x24.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-32-768x62.png 768w" sizes="auto, (max-width: 882px) 100vw, 882px" /></p>
<h4><span style="color: #000000;">Effacement du texte (data)</span></h4>
<pre>[root@<span style="color: #ff0000;">node-etcd03</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=node-etcd01:2380,node-etcd02:2380,node-etcd03:2380 del <strong>msg</strong></span>
<span style="color: #ff0000;"><em>1</em></span></pre>
<pre>[root@<span style="color: #ff0000;">node-etcd03</span> ~]# <span style="color: #ff0000;">etcdctl --endpoints=node-etcd01:2380,node-etcd02:2380,node-etcd03:2380 get <strong>msg</strong></span></pre>
<p><img loading="lazy" decoding="async" width="877" height="79" class="wp-image-7778" src="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-33.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-33.png 877w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-33-300x27.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2023/02/word-image-7745-33-768x69.png 768w" sizes="auto, (max-width: 877px) 100vw, 877px" /></p>
<p>Views: 4</p><p>L’article <a href="https://coffeebreak.en-images.info/modop-installation-dun-cluster-etcd/">MODOP &#8211; Installation d’un Cluster etcd</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-installation-dun-cluster-etcd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
