Schritt 2 – Konfiguration des etcd-Clusters
In diesem Schritt konfigurieren und starten Sie den etcd-Dienst auf Datenbankserver 1, Datenbankserver 2 und dem dedizierten etcd-Server, um Hochverfügbarkeit zu ermöglichen. Sie konfigurieren und starten den etcd-Dienst auf jedem etcd-Server. Anschließend überprüfen Sie den Cluster-Zustand, indem Sie ein Test-Schlüssel-Wert-Paar speichern und abrufen sowie den Status aller Knoten mit etcdctl-Befehlen prüfen..
Konfigurieren und starten Sie den etcd-Dienst auf Datenbankserver 1, Datenbankserver 2 und dem dedizierten etcd-Server:
- Bearbeiten Sie die Datei C:\PES\etcd\etcd.yaml. Ändern Sie die
Felder
nameunddata-dirauf die folgenden Werte:'etcd-1' und etcd-1.etcd für Database Server 1 'etcd-2' und etcd-2.etcd für Database Server 2 'etcd-3' und etcd-3.etcd für den dedizierten etcd Server - Setzen Sie die Felder
initial-advertise-peer-urlsundadvertise-client-urlsaufhttp://<IP of local server>:2380und
http://<IP of local server>:2379 - Setzen Sie das Feld
initial-clusterauf"etcd-1=http://<IP of Database Server 1>:2380,etcd-2=http://<IP of Database Server 2>:2380,etcd-3=http://<IP of Dedicated etcd Server>:2380", listing all servers that are part of the etcd clusterZum Beispiel, unter der Annahme der folgenden IP-Adressen:192.168.178.88 für Database Server 1, 192.168.178.89 für Database Server 2, 192.168.178.90 für Dedicated etcd ServerDie Datei C:\PES\etcd\etcd.yaml für Database Server 2 würde wie folgt aussehen:name: 'etcd-2' data-dir: etcd-2.etcd heartbeat-interval: 100 election-timeout: 1000 listen-peer-urls: http://0.0.0.0:2380 listen-client-urls: http://0.0.0.0:2379 initial-advertise-peer-urls: http://192.168.178.89:2380 advertise-client-urls: http://192.168.178.89:2379 initial-cluster: etcd-1=http://192.168.178.88:2380,etcd-2=http://192.168.178.89:2380,etcd-3=http://192.168.178.90:2380 initial-cluster-token: 'etcd-cluster' initial-cluster-state: 'new' enable-v2: true - Starten Sie den etcd-Cluster:
- Beenden Sie den
etcd serviceauf der Registerkarte Dienste des Task-Managers auf allen Computern, falls er bereits läuft. - Löschen Sie das Verzeichnis C:\PES\etcd\patroni-<etcd Server-Nummer>.etcd auf allen Computern.
- Starten Sie den
etcd-Dienstauf allen Computern nacheinander über die Registerkarte Dienste im Task-Manager.
- Beenden Sie den
- Überprüfen Sie die Verfügbarkeit des etcd-Clusters, indem Sie
mit dem put-Befehl ein Test-Schlüssel-Wert-Paar speichern und
anschließend abrufen:
auf einem der Rechner und den
C:\PES\etcd>etcdctl.exe put testKey testValOKget-Befehl auf allen etcd-Rechnern:C:\PES\etcd>etcdctl.exe get testKeytestKey testValDer
get-Befehl sollte auf allen ComputerntestValuezurückgeben, wie oben gezeigt. Dies zeigt an, dass alle dreietcd nodeskorrekt miteinander kommunizieren. Zusätzlich kann der Status für den gesamten etcd-Cluster bzw. alle etcd-Knote abgefragt werden:
C:\PES\etcd>etcdctl endpoint status --cluster -w=table
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| http://192.168.178.88:2379 | 5664a8f05990a10 | 3.5.21 | 98 kB | false | false | 2 | 286 | 286 | |
| http://192.168.178.89:2379 | d2fe156a4f8f92ae | 3.5.21 | 98 kB | false | false | 2 | 286 | 286 | |
| http://192.168.178.90:2379 | dd30186661e66c2c | 3.5.21 | 98 kB | true | false | 2 | 286 | 286 | |
+----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+C:\PES\etcd>etcdctl.exe endpoint health127.0.0.1:2379 is healthy: successfully committed proposal: took = 4.7686ms