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
1. Befehlseinführung Mit dem Befehl ln werden Lin...
Wenn Sie Ihre Django-Anwendungen erstellen und sk...
Netzwerksicherheit ist ein sehr wichtiges Thema u...
Vorstellung des Vorgesetzten Supervisor ist ein i...
Anforderung: Bei der Anzeige von Daten in einer L...
Es gibt viele Versionen der Java-Sprache. Zusätzl...
Als ich mir in letzter Zeit einige CSS3-Animation...
Socket-Optionsfunktion Funktion: Methoden zum Les...
1. Links Hypertext-Links sind in HTML sehr wichtig...
Inhaltsverzeichnis 1. Grundkonzepte und Grundbefe...
Inhaltsverzeichnis 0x01 Das Treibermodul konnte n...
Docker-Download-Adresse: http://get.daocloud.io/#...
Hintergrund Wenn Sie am Blockchain-Protokollmodul...
Inhaltsverzeichnis Portainer verwaltet mehrere Do...
Inhaltsverzeichnis Vorwort So kapseln Sie eine To...