So installieren und konfigurieren Sie AppScale unter Ubuntu 12.04

Einführung

AppScale ist eine Open Source-Computerplattform, mit der Google App Engine-Anwendungen in öffentlichen Clouds, privaten Clouds und lokalen Clustern bereitgestellt werden können. AppScale ist vollständig kompatibel mit den Google App Engine-APIs und unterstützt Python, Go, PHP und Java. Mit AppScale können Sie vorhandene Apps auf jede Cloud-Computing-Plattform migrieren, einschließlich DigitalOcean. Im Folgenden finden Sie eine Liste der Open Source-Komponenten, die zur Bereitstellung einer bestimmten API verwendet werden.

Voraussetzungen

Für dieses Tutorial benötigen Sie:

  • 4GB + Droplet mit Ubuntu 12.04.5

AppScale benötigt mindestens 2 GB RAM, um die erforderlichen Komponenten zu kompilieren, zusätzlich zu den 2 GB RAM, die AppScale im Leerlauf verwendet. Mindestens 4 GB RAM werden für Standardanwendungsbereitstellungen dringend empfohlen. Es ist möglicherweise möglich, ein 2-GB-Droplet mit einer Auslagerungsdatei zu verwenden. Dies würde jedoch den Rahmen dieses Tutorials sprengen.

Zum Zeitpunkt des Schreibens hat AppScale nur offiziellen Support für Ubuntu 12.04. Wenn Sie das Build-Skript ändern, kann es möglicherweise unter Ubuntu 14.04 installiert werden. Dies liegt jedoch auch außerhalb des Bereichs dieses Lernprogramms und wird möglicherweise nicht von der Community unterstützt.

Die ersten beiden Schritte, AppScale und die AppScale Tools zu installieren, müssen als Root-Benutzer ausgeführt werden. Die restlichen Schritte können als Benutzer ohne Rootberechtigung ausgeführt werden.

Schritt 1 - Installieren Sie AppScale

In den ersten beiden Abschnitten möchten wir alle Befehle als Root-Benutzer ausführen. Wenn Sie als sudo-Benutzer mit dem Server verbunden sind, geben Sie die Root-Shell ein mit:

sudo su

Aktualisieren Sie zunächst Ihren apt-get-Paketindex:

apt-get update

Jetzt können Sie AppScale installieren. Wir werden AppScale aus dem Quellcode kompilieren. Bitte beachten Sie, dass das Kompilieren von Quellcode sehr zeitaufwändig sein kann. Erwarten Sie, dass dieser Vorgang mehr als 15 Minuten oder länger dauert.

Stellen Sie sicher, dass Sie sich im Verzeichnis "+ / root +" befinden:

cd /root

Installieren Sie Git, damit Sie den AppScale-Quellcode herunterladen können:

apt-get install -y git-core

Klonen Sie den AppScale-Quellcode von GitHub:

git clone git://github.com/AppScale/appscale.git

Wechseln Sie in das Verzeichnis "+ appscale / debian +" und führen Sie das Build-Skript aus.

cd appscale/debian
bash appscale_build.sh

Schritt 2 - Installieren Sie AppScale Tools

Die AppScale-Tools werden zum Verwalten von AppScale-Clustern und zum Bereitstellen von Anwendungen verwendet. Diese Tools können auf einem lokalen Computer oder auf Ihrem Server installiert werden. Der Einfachheit halber werden wir die Tools auf unserem Server installieren. Der Installationsvorgang unter Mac OS X und Windows ist sehr ähnlich. Sie müssen Cygwin unter Windows verwenden. Weitere Informationen finden Sie auf der GitHub Page.

Wechseln Sie zurück in das Verzeichnis "+ / root":

cd /root

Klonen Sie den AppScale Tools-Quellcode von GitHub:

git clone git://github.com/AppScale/appscale-tools.git

Wechseln Sie in das Verzeichnis "+ appscale-tools / debian +" und führen Sie das Build-Skript aus.

cd appscale-tools/debian
bash appscale_build.sh

Nach Abschluss des Erstellungsskripts ist ein Neustart empfehlenswert.

reboot

Schritt 3 - Konfigurieren Sie Ihre AppScale-Bereitstellung

Für den verbleibenden Teil dieses Lernprogramms können Sie die AppScale-Tools als beliebiger Benutzer ausführen. Dies muss kein sudo-Benutzer sein. Sie müssen jedoch das Kennwort des Root-Benutzers kennen, wenn Sie AppScale zum ersten Mal starten. AppScale erstellt automatisch Authentifizierungszertifikate, und das Root-Passwort wird in Zukunft nicht mehr benötigt, wenn Sie mit den AppScale Tools arbeiten.

Nachdem der Server neu gestartet wurde und Sie Ihre SSH-Verbindung hergestellt haben, müssen Sie Ihre AppScale-Bereitstellung konfigurieren. Für die AppScale-Tools ist jedes Mal eine Konfigurationsdatei erforderlich, wenn Sie das Toolset ausführen. In diesem Schritt erstellen wir die Konfigurationsdatei mit dem Namen "+ AppScalefile +", starten AppScale und konfigurieren das Administratorkonto.

Stellen Sie sicher, dass Sie sich im Home-Verzeichnis Ihres Benutzers befinden:

cd ~

Erstellen Sie die anfängliche Konfigurationsdatei "+ AppScalefile +":

appscale init cluster

Nun werden wir die IP-Adresse des Servers zum + AppScalefile + hinzufügen.

Öffne die Datei mit nano:

nano AppScalefile

Am Anfang der Datei sehen Sie den folgenden Abschnitt:

AppScalefile

# The deployment strategy (roles -> machines) that should be used in this
# AppScale deployment.
# The following is a sample layout for running everything on one machine:
ips_layout :
 master :
 appengine :
 database :
 zookeeper :

Ersetzen Sie die Standard-IP-Adresse durch die IP-Adresse Ihres Servers. Wenn Sie mit dem Bearbeiten der Datei fertig sind, drücken Sie * STRG-X *, drücken Sie * Y * zum Speichern und drücken Sie * EINGABE *, um den vorhandenen Dateinamen zu überschreiben.

Jetzt können wir AppScale aus demselben Verzeichnis starten wie das soeben erstellte + AppScalefile +:

appscale up

AppScale fordert Sie auf, den Host-Fingerabdruck und das Root-Passwort zu überprüfen.

The authenticity of host '111.111.111.111 (111.111.111.111)' can't be established.
ECDSA key fingerprint is ab:3a:f0:87:c8:4e:8c:ba:59:0e:06:64:1b:f6:fe:e8.
Are you sure you want to continue connecting (yes/no)?

Geben Sie + yes + ein und drücken Sie * ENTER *. Sie sehen dann folgendes:

[email protected]'s password:

Geben Sie das root-Passwort ein und drücken Sie * ENTER *.

Nach Eingabe des korrekten Root-Passworts wird Folgendes angezeigt:

Generated a new SSH key for this deployment at /root/.appscale/appscale69de89364b624a8a9be1b7f45ac23d40
Starting AppScale 2.3.1 over a virtualized cluster.
Log in to your head node: ssh -i /root/.appscale/appscale69de89364b624a8a9be1b7f45ac23d40.key [email protected]
Head node successfully initialized at 111.111.111.111. It is now starting up cassandra.
Copying over deployment credentials
Starting AppController at 111.111.111.111
Please wait for the AppController to finish pre-processing tasks.

Please wait for AppScale to prepare your machines for use.
AppController just started

Beim Starten von AppScale kann es so aussehen, als ob es bei "+ AppController gerade gestartet +" hängt. Das ist normal. Es kann einige Zeit dauern, bis alle AppScale-Komponenten initialisiert sind.

Schließlich werden Sie Folgendes sehen:

UserAppServer is at 111.111.111.111
Enter your desired admin e-mail address:

Erstellen Sie ein Administrator-Benutzerkonto. Geben Sie die E-Mail-Adresse des Benutzers ein und geben Sie ein Passwort ein. Erinnern Sie sich an diese Details. Sie benötigen sie, um auf das AppScale-Verwaltungsfenster zuzugreifen.

Nachdem Sie das Administrator-Benutzerkonto erstellt haben, wird Folgendes angezeigt:

Creating new user account [email protected]
Creating new user account [email protected]
Your XMPP username is [email protected]
Granting admin privileges to [email protected]
AppScale successfully started!
View status information about your AppScale deployment at http://111.111.111.111:1080/status

AppScale bietet Ihnen einen Link zum Administrationsbereich. Normalerweise im folgenden Format. Normalerweise wird die http-Adresse automatisch zur sicheren https-Adresse umgeleitet.

http://:1080/status
https://:1443/status

Schritt 4 - Das AppScale-Verwaltungsfenster

Öffnen Sie das AppScale-Verwaltungsfenster in Ihrem Browser. Der Link sollte Ihnen nach dem Start von AppScale bereitgestellt worden sein:

http://:1080/status

Möglicherweise werden Sie aufgefordert, das selbstsignierte Zertifikat zu akzeptieren.

image: https://assets.digitalocean.com/articles/AppScale_Ubuntu_1204/self-signed-cert.png [Akzeptieren Sie das selbstsignierte Zertifikat]

Über den AppScale-Verwaltungsbereich können Benutzer ihre eigenen Konten erstellen, indem Sie auf * Konto erstellen * klicken. Sie müssen jedoch ihre Berechtigungen über das Administratorkonto ändern, bevor sie ihre eigenen Apps hochladen und entfernen können.

Klicken Sie oben rechts auf die Schaltfläche * Anmelden *. Die Schaltfläche "Anmelden" sieht auf kleineren Bildschirmen möglicherweise anders aus, ist jedoch weiterhin grün.

Melden Sie sich mit der Administrator-E-Mail-Adresse und dem Kennwort an, die Sie im vorherigen Schritt festgelegt haben. Daraufhin wird die AppScale-Statusseite angezeigt.

Über das Administrationsfenster haben Sie Zugriff auf Serverstatistiken und Anwendungsstatistiken. Sie können auch Anwendungen bereitstellen und entfernen. Es ist ziemlich einfach, eine Anwendung über das Administrationsfenster bereitzustellen. In diesem Lernprogramm erfahren Sie, wie Sie eine Anwendung über die Befehlszeile bereitstellen. Fahren Sie mit dem nächsten Schritt fort, wenn Sie mit dem Durchsuchen des Administrationsbereichs fertig sind.

Schritt 5 - Bereitstellen Ihrer ersten Anwendung

AppScale stellt eine Sammlung von Beispielanwendungen bereit, die bereitgestellt werden können. Diese Anwendungen sind eine gute Möglichkeit, Ihren AppScale-Cluster zu testen. Sie machen Sie auch mit dem Anwendungsbereitstellungsprozess vertraut.

Sie sollten dasselbe Benutzerkonto verwenden und Ihr aktuelles Verzeichnis sollte das Zeichen "+ AppScaleFile +" enthalten. Diese Datei enthält alle Konfigurationen, die AppScale zur Verwaltung Ihrer Bereitstellung benötigt.

Stellen Sie sicher, dass wir wieder im Home-Verzeichnis Ihres Benutzers sind:

cd ~

Klonen Sie in GitHub den Quellcode der Beispielanwendung, um die Gästebuch-App zu erstellen:

git clone https://github.com/AppScale/sample-apps.git

Sie werden Folgendes sehen, wenn der Quellcode heruntergeladen wird:

Cloning into 'sample-apps'...
remote: Counting objects: 15742, done.
remote: Total 15742 (delta 0), reused 0 (delta 0), pack-reused 15742
Receiving objects: 100% (15742/15742), 318.96 MiB | 23.52 MiB/s, done.
Resolving deltas: 100% (4944/4944), done.

Mit der Gästebuch-App können Sie die Datenspeicher- und Authentifizierungs-APIs hervorragend testen.

Stellen Sie die Anwendung bereit:

appscale deploy sample-apps/go/go-guestbook/

Sie werden aufgefordert, Ihrer Bewerbung eine E-Mail-Adresse zuzuweisen. Geben Sie die E-Mail-Adresse ein und drücken Sie die Eingabetaste.

Enter your desired e-mail address:

Dies kann eine beliebige E-Mail-Adresse sein. Wenn der Benutzer noch nicht in der Datenbank vorhanden ist, werden Sie aufgefordert, ein Kennwort festzulegen. Für die Zwecke dieses Tutorials haben wir uns entschieden, das Administratorkonto zu verwenden.

Als Nächstes sehen Sie Folgendes:

Uploading initial version of app guestbookgo
We have reserved guestbookgo for your app
Tarring application
Copying over application
Please wait for your app to start serving.
Waiting 1 second(s) to check on application...
Waiting 2 second(s) to check on application...
Waiting 4 second(s) to check on application...
Waiting 8 second(s) to check on application...
Waiting 16 second(s) to check on application...
Your app can be reached at the following URL: http://111.111.111.111:8080

Öffnen Sie die URL in Ihrem Browser und Sie werden von der Gästebuch-App bedient. Wenn Sie noch bei AppScale angemeldet sind, verwendet die Gästebuch-App Ihre E-Mail-Adresse. Wenn Sie zum AppScale-Verwaltungsfenster zurückkehren und sich abmelden, wird das Gästebuch als anonymer Benutzer signiert.

Um eine Anwendung zu aktualisieren, verwenden Sie einfach den Befehl + appscale deploy + erneut. AppScale erkennt und aktualisiert die vorhandene Anwendung automatisch. Sie müssen dieselbe E-Mail-Adresse verwenden, die die Anwendung bereits besitzt. Wenn Sie den Besitzer ändern möchten, können Sie die Anwendung entfernen und erneut bereitstellen.

Wenn Sie mehrere Versionen derselben Anwendung nebeneinander ausführen möchten, müssen Sie den Namen der Anwendung in der Datei "+ app.yaml +" ändern. Dies ist die Hauptkonfigurationsdatei für die Anwendung und befindet sich im Stammverzeichnis der Anwendung.

Um eine Anwendung zu entfernen, können Sie den folgenden Befehl verwenden (ersetzen Sie "+ guestbookgo +" durch die ID AppScale, die Ihrer Anwendung während des Bereitstellungsprozesses zugewiesen wurde):

appscale remove

Sie können Ihre Anwendungen auch aus dem AppScale-Verwaltungsbereich entfernen und bereitstellen.

Fehlerbehebung

AppScale ist eine sehr komplizierte Plattform, und es kann schief gehen. Wir werden einige Schritte behandeln, die Sie unternehmen können, um einige der häufigsten Fehler zu beheben. Es wird empfohlen, dass Sie die offizielle https://github.com/AppScale/appscale/wiki/Troublesh‹AppScale Troubleshooting Page] für weitere Details lesen.

Wenn Sie keine Lösung für Ihr Problem finden, verfügt AppScale über eine sehr aktive mailing list. Stellen Sie sicher, dass Sie beim Senden eines Themas an die Mailingliste so viele Details wie möglich und eine Kopie Ihrer Protokolldateien angeben. Es ist wahrscheinlicher, dass Sie eine schnelle Lösung für Ihr Problem erhalten.

AppScale-Status zwangsweise bereinigen

Der Befehl + appscale clean + wird verwendet, um Ihre VMs zwangsweise in einen sauberen Zustand zu versetzen und Konfigurationsprobleme zu beseitigen.

appscale clean

Dieses Skript bricht auch alle mit AppScale zusammenhängenden Prozesse ab. Wenn Sie Probleme mit einer Erstbereitstellung haben, versuchen Sie dies immer zuerst, bevor Sie sich an die Mailingliste wenden. Dieser Befehl behebt normalerweise alle Konfigurationsprobleme. Sie können dann + appscale up + erneut ausführen, um AppScale erneut bereitzustellen.

appscale up

AppScale-Protokolldateien

Mit dem Befehl "+ appscale logs +" werden die Protokolldateien von allen Knoten in einer AppScale-Bereitstellung gesammelt und in das angegebene Verzeichnis kopiert.

appscale logs

Auf die Protokolldateien kann direkt im Verzeichnis + / var / log / appscale + zugegriffen werden.

cd /var/log/appscale

Wenn der Befehl "+ appscale logs +" aus bestimmten Gründen fehlschlägt, möchten Sie auf diese Weise auf die Protokolle zugreifen. Bei einer Bereitstellung mit mehreren Knoten muss dies jedoch auf jedem Server durchgeführt werden. Aus diesem Grund wird empfohlen, die Protokolldateien mit den AppScale-Tools zu erfassen.

Mit dem Befehl "+ appscale tail +" können Sie die AppScale-Protokolle in einer Bereitstellung in Echtzeit auslesen. Dies ist nützlich, um Anwendungs- und Verbindungsprobleme in Echtzeit zu überwachen.

appscale tail

Debuggen von AppScale-Bereitstellungen

Es gibt drei Hauptprotokolle, an denen wir beim Debuggen einer AppScale-Bereitstellung interessiert sein sollten.

  • + controller-17443.log + - Dieses Protokoll ist die Ausgabe von AppController, dem Provisioning Daemon von AppScale. Da dieser Daemon für das Starten aller erforderlichen Dienste von AppScale verantwortlich ist, ist er der beste Ausgangspunkt, wenn Probleme mit einer AppScale-Bereitstellung auftreten.

  • + app _ app_id - *. log + - Jede bereitgestellte Anwendung verfügt über eine eigene Protokolldatei. Wenn Sie Probleme beim Bereitstellen einer Anwendung haben oder diese sich nicht wie erwartet verhält, sollten Sie an dieser Stelle beginnen.

  • + datastore_server-400 * .log + - Dies ist die Protokolldatei für den AppScale-Datenspeicher.

Fazit

Wir haben AppScale für eine Einzelserverbereitstellung installiert und konfiguriert. Wir haben gelernt, wie man Anwendungen bereitstellt und entfernt. Wir stellen unsere Bereitstellung auch auf die Probe, indem wir die Gästebuch-App signieren. Durch das Signieren der Gästebuch-App wurde nachgewiesen, dass eine Reihe von APIs ordnungsgemäß funktionieren. Mit dieser AppScale-Installation können wir jetzt benutzerdefinierte Anwendungen basierend auf Google App Engine bereitstellen.