Thursday, 14 April 2016

Docker 3-Tier Java App (Nginx, Tomcat, MySQL) Automation On Any Cloud


DCHQ die Containerisierung von Enterprise-Applikationen vereinfacht und ermöglicht es, auf mehreren Hosts über eine Ein-Klick-Schaltfläche Bereitstellen sehr komplexen Anwendungsumgebungen zu replizieren. DCHQ nicht automatisieren nicht nur die Bereitstellung von Anwendungen, aber es integriert auch mit 12 verschiedenen Cloud-Anbietern die Bereitstellung und automatische Skalierung von Weave-fähigen Cluster zu automatisieren von verteilten virtuellen Maschinen aus.
In diesem Blog werden wir den Einsatz Automatisierung und Lifecycle-Management von a-Docker basierten 3-Tier-Java-Anwendung gehen über zum Einsatz auf Tomcat-Server mit Nginx für Load Balancing und MySQL für die Datenbank.
Dies kann durch die Navigation auf der Self-Service - Bibliothek und klicken Sie dann auf Anpassen getan werden , um eine Multi-Tier - Anwendung zu beantragen. In diesem Beispiel haben wir eine Multi-Tier - Anwendung , bestehend aus Nginx (für Load Balancing), Tomcat (die Cluster - Anwendungsserver) und MySQL (wie der Datenbank). Sie werden feststellen , Nginx ein Bash - Script - Plug-In ist das Aufrufen der Container IP der Anwendungsserver in der default.conf Datei dynamisch (oder zum Zeitpunkt der Anforderung) hinzuzufügen. Tomcat Aufruf auch eine BASH - Skript - Plug-in eine Java - WAR - Datei von der angegebenen URL zu implementieren. Sie werden feststellen , dass der CLUSTER_SIZE Parameter können Sie die Anzahl der Container angeben zu starten (mit den gleichen Anwendungsabhängigkeiten). Der Host - Parameter können Sie den Host an Sie für Container - Implementierungen verwenden möchten. Hier sind die Werte für den Host - Parameter unterstützt:
  • host1, host2, host3 usw. - wählt einen Host zufällig innerhalb eines Datenzentrums (oder Cluster) für Container - Implementierungen
  • <IP - Adresse 1, IP - Adresse 2 usw.> - ermöglicht es dem Benutzer die tatsächliche IP - Adressen angeben für Container - Implementierungen verwenden
  • <Hostname 1, Hostname 2 usw.> - ermöglicht es dem Benutzer die tatsächlichen Host - Namen angeben , für Container - Implementierungen verwenden
  • Wildcards (zB "db- *" oder "app-SRV *") - die Platzhalter festlegen , die in einem Host - Namen zu verwenden ,
Zusätzlich kann eine Benutzerumgebung Quer Bild Variablenbindungen erstellen, indem Sie einen Verweis auf ein anderes Bild der Umgebungsvariable zu machen. Hier ist eine Liste der unterstützten Umgebungsvariablen:
  • {{alphanumeric | 8}} - erzeugt eine zufällige 8-stellige alphanumerische Zeichenfolge. Dies ist besonders nützlich für die Erstellung von zufällige Passwörter.
  • {{<Image Name> | ip}} - können Sie die Host-IP-Adresse einer Vorlage als Wert für eine Umgebungsvariable einzugeben. Dies ist am nützlichsten zum Ermöglichen des Middleware-Ebene eine Verbindung mit der Datenbank herzustellen.
  • {{<Image Name> | container_ip}} - können Sie den Containernamen (oder interne IP) von einer Vorlage als Wert für eine Umgebungsvariable einzugeben. Dies ist besonders praktisch, wenn es die Middleware Tier eine sichere Verbindung mit der Datenbank herzustellen (ohne den Datenbankport ausgesetzt).
  • {{<Image Name> | port _<Port Number>}} - können Sie die Port-Nummer einer Vorlage als Wert für eine Umgebungsvariable einzugeben. Dies ist am nützlichsten zum Ermöglichen des Middleware-Ebene eine Verbindung mit der Datenbank herzustellen. In diesem Fall spezifiziert die Portnummer muss der interne Port-Nummer zu sein - also nicht den externen Anschluss, der mit dem Behälter zugeordnet ist. Beispiel: {{PostgreSQL | port_5432}} wird dem tatsächlichen externen Port übertragen werden, dass die Middleware-Ebene ermöglichen, eine Verbindung mit der Datenbank herzustellen.
  • {{<Image Name> | <Environment Variable Name>}} - können Sie den Wert eines Bildes Umgebungsvariable in ein anderes Bild der Umgebungsvariable einzugeben. Die Anwendungsfälle sind hier endlos - wie die meisten Multi-Tier-Anwendungen Quer Bild Abhängigkeiten haben.
Ein Benutzer kann ein Umwelt-Tag (wie DEV oder QE) wählen und eine Weave-fähige Data Center vor auf Ausführen klicken.
Bild
Sobald die Anwendung installiert ist und läuft, kann ein Benutzer die CPU, Speicher überwachen und I / O-Auslastung der Laufbehälter und Tag-2-Operationen wie Backup Container Updates mit BASH-Plug-Ins ausführen, Scale In / Out und Continuous Delivery .
In der aufgezeichneten Demo, skaliert wir den Anwendungsserver-Cluster von 2 bis 3. Ein Benutzer aus kann während der Geschäftszeiten der Skala Plan und der Maßstab in den Wochenenden. Wir haben dann die BASH-Plug-in so Nginx die default.conf Datei zu aktualisieren, dass sie von dem neuen Anwendungsserver hinzugefügt bewusst ist. Die BASH-Skript-Plug-Ins können auch Anwendungsfälle aufzunehmen wie Reinigung Protokolle oder Aktualisieren von Konfigurationen bei definierten Frequenzen eingeplant werden. Eine Anwendung Zeitlinie zur Verfügung steht jede Änderung an der Anwendung für die Prüfung und Diagnose gemacht zu verfolgen.
Warnungen und Hinweise sind für, wenn Behälter oder Hosts sind oder wenn die CPU & Speicher Nutzung entweder auf Hosts oder Behälter einen definierten Schwellenwert überschreitet.
Jetzt kostenlos registrieren auf DCHQ.io Hosted PaaS ( http://dchq.io ) diese Vorlage , um zusammen mit Ruby, Python, PHP, MEAN.JS, Clustered MongoDB und viele andere Vorlage.


No comments:

Post a Comment