1. Umweltvorbereitung 1.1 Grundlegende Umgebung NTP-Konfiguration: ausgelassen #Es wird empfohlen, den NTP-Dienst zu konfigurieren, um die Zeitkonsistenz sicherzustellen etcd-Version: v3.3.9 Firewall und SELinux: Firewall und SELinux deaktivieren
# hostnamectl set-hostname etcd1.example.com # hostnamectl set-hostname docker01.example.com # hostnamectl set-hostname docker02.example.com Tipp: Der Hostname ist nicht erforderlich. 1.2 Docker-Umgebung Auf allen oben genannten Knoten ist Docker installiert. Einzelheiten finden Sie unter 002.Docker-Version und -Installation. 2. Bereitstellung von etcd-Knoten Tipp: Diese Umgebung ist vollständig dockerisiert, d. h. der etcd-Dienst existiert auch in Docker-Form. 2.1 etcd-Grundkonfiguration # mkdir -p /var/log/etcd/ #Es wird empfohlen, ein Verzeichnis zum Speichern von etcd-Protokollen zu erstellen. # mkdir -p /data/etcd #Es wird empfohlen, ein separates etcd-Datenverzeichnis zu erstellen. # export HOST_1=172.24.8.71 #Legen Sie die IP-Adresse des etcd-Knotens fest. # export DATA_DIR=/data/etcd #Legen Sie den Cluster-ETCD-Datenknoten fest # REGISTRY=quay.io/coreos/etcd #Es wird empfohlen, dieses Warehouse zu verwenden # ETCD_VERSION=latest #Legen Sie die etcd-Version fest # export NAME_1=etcd1 #Legen Sie den Namen des etcd-Knotens fest # Docker-Volume erstellen --name etcd-data Tipp: Alle oben genannten Vorgänge müssen auf allen Knoten durchgeführt werden. 2.3 Starten Sie den Docker etcd-Cluster [root@etcd1 ~]# Docker ausführen \ -p 2379:2379 \ -p 2380:2380 \ --volume=${DATA_DIR}:/etcd-data \ --name etcd ${REGISTRY}:${ETCD_VERSION} \ /usr/local/bin/etcd \ --data-dir=/etcd-data --name ${NAME_1} \ --initial-advertise-peer-urls http://${HOST_1}:2380 --listen-peer-urls http://0.0.0.0:2380 \ --advertise-client-urls http://${HOST_1}:2379 --listen-client-urls http://0.0.0.0:2379 \ --initial-cluster ${NAME_1}=http://${HOST_1}:2380 Tipp: Das Image quay.io/coreos/etcd darf nicht in China abgerufen werden, kann aber von einem fremden Knoten abgerufen und dann per SCP an den Clusterknoten gesendet werden. 2.4 Bestätigung und Verifizierung [root@etcd1 ~]# Docker ps
[root@etcd1 ~]# docker exec -it bcb96fb0f987 /usr/local/bin/etcdctl Cluster-Gesundheit [root@etcd1 ~]# docker exec -it bcb96fb0f987 /usr/local/bin/etcdctl --endpoints=http://${HOST_1}:2379 Mitgliederliste Konfiguration mit drei Docker-Hostknoten 3.1 Docker01-Konfiguration [root@docker01 ~]# vi /etc/sysconfig/docker OPTIONEN='--cluster-store=etcd://172.24.8.71:2379 --cluster-advertise=172.24.8.72:2379' [root@docker01 ~]# systemctl Neustart Docker 3.2 Docker02-Konfiguration [root@docker02 ~]# vi /etc/sysconfig/docker OPTIONEN='--cluster-store=etcd://172.24.8.71:2379 --cluster-advertise=172.24.8.73:2379' [root@docker02 ~]# systemctl Neustart Docker 3.3 Erstellen eines Overlay-Netzwerks [root@docker01 ~]# Docker-Netzwerk erstellen -d Overlay Overlaynet1 418654e0092f5d1c3e4bf2b9ee73cdd22932dd60fecf12d7a3b024818118244b [root@docker01 ~]# Docker-Netzwerk überprüfen Overlaynet1 [root@docker02 ~]# Docker-Netzwerk überprüfen Overlaynet1 Tipp: Überprüfen Sie das auf docker01 erstellte Overlay-Netzwerk auf den Hosts docker01 und docker02. Wenn beide vorhanden sind, bedeutet dies, dass die Netzwerkdaten verteilt und nicht lokal über etcd gespeichert werden. 3.4 Testnetzwerk [root@docker01 ~]# docker run -d --name Container01 --network overlaynet1 training/webapp python app.py [root@docker02 ~]# docker run -d --name Container02 --network overlaynet1 training/webapp python app.py [root@docker01 ~]# docker exec -it 73e984a5528a /bin/bash root@73e984a5528a:/opt/webapp# ifconfig root@73e984a5528a:/opt/webapp# route -n [root@docker02 ~]# docker exec -it 89eac9521743 /bin/bash root@89eac9521743:/opt/webapp# ifconfig veranschaulichen:
[root@docker01 ~]# brctl anzeigen [root@docker01 ~]# Docker-Netzwerk ls Weitere Referenzen:
Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
>>: Detailliertes Beispiel zum Abrufen des Maximalwerts jeder Gruppe nach der Gruppierung in MySQL
Normalerweise haben wir ein Scan-Feld, wenn wir d...
Wenn wir möchten, dass mehr Leute die von uns ers...
1. Gehen Sie zunächst auf die offizielle Website,...
In diesem Artikel wird der spezifische Code von j...
Beim Verwenden des Flex-Layouts werden Sie festst...
1. Was ist Vue Vue ist ein fortschrittliches Fram...
Wissen Sie, welche Schriftarten in den Logo-Desig...
Wenn Sie die Größe und Anzahl der InnoDB-Redo-Log...
In diesem Artikelbeispiel wird der spezifische JS...
Ich habe vor Kurzem in einer neuen Firma angefang...
1. Anwendung von Multimedia in HTML_Flash-Animati...
Vorwort Wenn sich unser Geschäft in einem sehr fr...
So zeigen Sie Dateien in einem Docker-Image an 1....
Vorwort In einem üblichen Geschäftsszenario müsse...
1. Verwenden Sie das Tag <a> zum Vervollstä...