Edge for Private Cloud v. 4.16.05
Eine typische Edge-Installation besteht aus Edge-Komponenten, die auf mehrere Knoten verteilt sind. Nachdem Sie Edge auf einem Knoten installiert haben, installieren und konfigurieren Sie eine oder mehrere Edge-Komponenten auf dem Knoten.
Installationsprozess
Die Installation von Edge auf einem Knoten ist ein mehrstufiger Prozess:
- Deaktivieren Sie SELinux auf dem Knoten oder legen Sie den moderaten Modus fest. Weitere Informationen finden Sie unter Edge-Dienstprogramm „apigee-setup“ installieren.
- Wählen Sie Ihre Edge-Konfiguration aus der Liste der empfohlenen Topologien aus. Sie können Edge beispielsweise auf einem einzelnen Knoten zu Testzwecken oder auf 13 Knoten für die Produktion installieren. Weitere Informationen finden Sie unter Installationstopologien.
- Installieren Sie auf jedem Knoten in der ausgewählten Topologie das Edge-Dienstprogramm apigee-setup:
- Laden Sie die Edge-Datei bootstrap_4.16.05.sh in /tmp/bootstrap_4.16.05.sh herunter.
- Installieren Sie das Edge-Dienstprogramm apigee-service und die Abhängigkeiten.
- Installieren Sie das Edge-Dienstprogramm apigee-setup und die Abhängigkeiten.
Weitere Informationen finden Sie unter Edge-Dienstprogramm „apigee-setup“ installieren.
- Verwenden Sie das Dienstprogramm apigee-setup, um eine oder mehrere Edge-Komponenten auf jedem Knoten basierend auf der ausgewählten Topologie zu installieren.
Weitere Informationen finden Sie unter Edge-Komponenten auf einem Knoten installieren. - Verwenden Sie auf dem Management Server-Knoten das Dienstprogramm „apigee-setup“, um „apigee-provision“ zu installieren, die Dienstprogramme, mit denen Sie Edge-Organisationen erstellen und verwalten.
Weitere Informationen finden Sie unter Organisation einrichten.
Umgang mit einem Installationsfehler
Wenn bei der Installation einer Edge-Komponente ein Fehler auftritt, können Sie versuchen, das Problem zu beheben, und dann das Installationsprogramm noch einmal ausführen. Das Installationsprogramm ist so konzipiert, dass es wiederholt ausgeführt werden kann, wenn ein Fehler erkannt wird oder wenn Sie später eine Komponente nach der Installation ändern oder aktualisieren möchten.
Postgres-Master-Standby-Replikation konfigurieren
Standardmäßig installiert Edge alle Postgres-Knoten im Master-Modus. In Produktionssystemen mit mehreren Postgres-Knoten konfigurieren Sie diese jedoch so, dass sie die Master-Standby-Replikation verwenden. Wenn der Master-Knoten ausfällt, kann der Standby-Knoten weiterhin Traffic verarbeiten. Weitere Informationen finden Sie unter Master-Standby-Replikation für Postgres einrichten.
Wer die Installation durchführen kann
Die Apigee Edge-Distributionsdateien werden als eine Reihe von RPMs und Abhängigkeiten installiert. Zum Installieren, Deinstallieren und Aktualisieren von Edge müssen die Edge-Befehle vom Root-Nutzer oder von einem Nutzer mit vollständigem sudo-Zugriff ausgeführt werden. Vollständiger sudo-Zugriff bedeutet, dass der Nutzer sudo-Zugriff hat, um dieselben Vorgänge wie der Root-Nutzer auszuführen.
Nutzer, die die folgenden Befehle oder Skripts ausführen möchten, müssen entweder Root-Nutzer oder Nutzer mit vollständigem sudo-Zugriff sein:
-
apigee-service-Dienstprogramm:
- apigee-service-Befehle: install, uninstall, update.
- apigee-all-Befehle: install, uninstall, update.
- setup.sh-Skript zur Installation von Edge-Komponenten (es sei denn, Sie haben bereits apigee-service install verwendet, um die erforderlichen RPMs zu installieren). Dann Root- oder vollständiger sudo-Zugriff, falls nicht erforderlich.)
- update.sh-Skript zum Aktualisieren von Edge-Komponenten
Außerdem erstellt das Edge-Installationsprogramm einen neuen Nutzer namens „apigee“ auf Ihrem System. Viele Edge-Befehle rufen sudo auf, um als „apigee“-Nutzer ausgeführt zu werden.
Nutzer, die andere als die oben aufgeführten Befehle ausführen möchten, müssen über vollständigen SUDO-Zugriff auf den Nutzer „apigee“ verfügen. Diese Befehle umfassen:
-
apigee-service-Dienstprogrammbefehle, einschließlich:
- apigee-service-Befehle wie start, stop, restart, configure.
- apigee-all-Befehle wie start, stop, restart, configure.
Wenn Sie einen Nutzer so konfigurieren möchten, dass er vollständigen sudo-Zugriff auf den Nutzer „apigee“ hat, bearbeiten Sie die sudoers-Datei und fügen Sie Folgendes hinzu:
installUser ALL=(apigee) NOPASSWD: ALL
Dabei ist installUser der Nutzername der Person, die mit Edge arbeitet.
Alle Dateien oder Ressourcen, die von den Edge-Befehlen verwendet werden, müssen für den Nutzer „apigee“ zugänglich sein. Dazu gehören die Edge-Lizenzdatei und alle Konfigurationsdateien.
Wenn Sie eine Konfigurationsdatei erstellen, können Sie den Eigentümer in „apigee:apigee“ ändern, damit sie für Edge-Befehle zugänglich ist:
- Erstellen Sie die Datei in einem Editor als beliebiger Nutzer.
- Ändern Sie den Eigentümer der Datei in „apigee:apigee“ oder, wenn Sie den Nutzer, der den Edge-Dienst ausführt, vom Nutzer „apigee“ geändert haben, ändern Sie den Eigentümer der Datei in den Nutzer, der den Edge-Dienst ausführt.
Automatische Installation von Edge-Komponenten
Sie müssen eine Konfigurationsdatei an das apigee-setup-Dienstprogramm übergeben, die die Informationen zur Edge-Installation enthält. Die einzige Anforderung an automatische Installationen ist, dass die Konfigurationsdatei für den Nutzer „apigee“ zugänglich oder lesbar sein muss. Legen Sie die Datei beispielsweise im Verzeichnis „/tmp“ auf dem Knoten ab und ändern Sie den Eigentümer in „apigee:apigee“.
Alle Informationen in der Konfigurationsdatei sind erforderlich, mit Ausnahme des Passworts des Edge-Systemadministrators. Wenn Sie das Passwort weglassen, werden Sie vom apigee-setup-Dienstprogramm aufgefordert, es in der Befehlszeile einzugeben.
Weitere Informationen finden Sie unter Edge-Komponenten auf einem Knoten installieren.
Installation mit oder ohne Internetverbindung
Damit Edge auf einem Knoten installiert werden kann, muss der Knoten auf das Apigee-Repository zugreifen können:
- Knoten mit einer externen Internetverbindung
Knoten mit einer externen Internetverbindung greifen auf das Apigee-Repository zu, um die Edge-RPMs und -Abhängigkeiten zu installieren. - Knoten ohne externe Internetverbindung
Knoten ohne externe Internetverbindung können auf eine gespiegelte Version des Apigee-Repositorys zugreifen, das Sie intern eingerichtet haben. Dieses Repository enthält alle Edge-RPMs. Sie müssen jedoch dafür sorgen, dass alle anderen Abhängigkeiten aus Repositories im internen Netzwerk verfügbar sind.
RPM-Installationsabhängigkeiten auflösen
Die Apigee Edge-Verteilungsdateien werden als eine Reihe von RPM-Dateien installiert, von denen jede eine eigene Kette von Installationsabhängigkeiten haben kann. Viele dieser Abhängigkeiten werden von Drittanbieterkomponenten definiert, die außerhalb der Kontrolle von Apigee liegen und sich jederzeit ändern können. Daher wird in der Dokumentation nicht die explizite Versionsnummer der einzelnen Abhängigkeiten aufgeführt.
Wenn Sie die Installation auf einem Computer mit Internetzugriff ausführen, kann der Knoten die erforderlichen RPMs und Abhängigkeiten herunterladen. Wenn Sie die Installation jedoch von einem Knoten ohne Internetzugriff ausführen, richten Sie in der Regel ein internes Repository ein, das alle erforderlichen Abhängigkeiten enthält. Die einzige Möglichkeit, sicherzustellen, dass alle Abhängigkeiten in Ihrem lokalen Repository enthalten sind, besteht darin, eine Installation zu versuchen, fehlende Abhängigkeiten zu identifizieren und sie in das lokale Repository zu kopieren, bis die Installation erfolgreich ist.
Virtuellen Host einrichten
Ein virtueller Host in Edge definiert die Domains und Edge-Router-Ports, über die ein API-Proxy bereitgestellt wird, und damit auch die URL, über die Anwendungen auf einen API-Proxy zugreifen. Ein virtueller Host definiert auch, ob auf den API-Proxy über das HTTP-Protokoll oder über das verschlüsselte HTTPS-Protokoll zugegriffen wird.
Im Rahmen des Edge-Onboarding-Prozesses müssen Sie eine Organisation, eine Umgebung und einen virtuellen Host erstellen. Edge bietet den Befehl setup-org, um diesen Prozess für neue Nutzer zu vereinfachen.
Wenn Sie den virtuellen Host erstellen, müssen Sie die folgenden Informationen angeben:
- Der Name des virtuellen Hosts, den Sie in Ihren API-Proxys verwenden, um darauf zu verweisen.
- Der Port auf dem Router für den virtuellen Host. In der Regel beginnen diese Ports bei 9001 und werden für jeden neuen virtuellen Host um eins erhöht.
- Der Hostalias des virtuellen Hosts. In der Regel der DNS-Name des virtuellen Hosts.
Der Edge-Router vergleicht den Host-Header der eingehenden Anfrage mit der Liste der verfügbaren Host-Aliasse, um den API-Proxy zu bestimmen, der die Anfrage verarbeitet. Wenn Sie eine Anfrage über einen virtuellen Host stellen, geben Sie entweder einen Domainnamen an, der mit dem Host-Alias eines virtuellen Hosts übereinstimmt, oder geben Sie die IP-Adresse des Routers und den Host-Header mit dem Host-Alias an.
Wenn Sie beispielsweise einen virtuellen Host mit dem Host-Alias myapis.apigee.net auf Port 9001 erstellt haben, kann eine cURL-Anfrage an eine API über diesen virtuellen Host eine der folgenden Formen haben:
- Wenn Sie einen DNS-Eintrag für myapis.apigee.net haben:
curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path} - Wenn Sie keinen DNS-Eintrag für myapis.apigee.net haben:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'
In diesem Formular geben Sie die IP-Adresse des Routers an und übergeben den Host-Alias im Host-Header.
Hinweis: Der curl-Befehl, die meisten Browser und viele andere Dienstprogramme hängen den Host-Header automatisch mit der Domain als Teil der Anfrage an, sodass Sie einen curl-Befehl in folgender Form verwenden können:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
Optionen, wenn Sie keinen DNS-Eintrag für den virtuellen Host haben
Wenn Sie keinen DNS-Eintrag haben, können Sie den Host-Alias auf die IP-Adresse des Routers und den Port des virtuellen Hosts festlegen, z. B. <routerIP>:port. Beispiel:
192.168.1.31:9001
Führen Sie dann einen curl-Befehl im folgenden Format aus:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} Diese Option wird bevorzugt, da sie gut mit der Edge-Benutzeroberfläche funktioniert.
Wenn Sie mehrere Router haben, fügen Sie für jeden Router einen Host-Alias hinzu und geben Sie die IP-Adresse jedes Routers und den Port des virtuellen Hosts an.
Alternativ können Sie den Host-Alias auf einen Wert wie temp.hostalias.com festlegen. Dann müssen Sie den Host-Header bei jeder Anfrage übergeben:
curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'host: temp.hostalias.com'Oder fügen Sie den Host-Alias der Datei „/etc/hosts“ hinzu. Fügen Sie beispielsweise diese Zeile zu /etc/hosts hinzu:
192.168.1.31 temp.hostalias.com
Anschließend können Sie eine Anfrage stellen, als hätten Sie einen DNS-Eintrag:
curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}Edge-Komponenten nach der Installation konfigurieren
Wenn Sie Edge nach der Installation konfigurieren möchten, verwenden Sie eine Kombination aus .properties-Dateien und Edge-Dienstprogrammen. Wenn Sie beispielsweise TLS/SSL in der Edge-Benutzeroberfläche konfigurieren möchten, bearbeiten Sie .properties-Dateien, um die erforderlichen Attribute festzulegen. Bei Änderungen an .properties-Dateien müssen Sie die betroffene Edge-Komponente neu starten.
Die .properties-Dateien befinden sich im Verzeichnis /opt/apigee/customer/application. Jede Komponente hat in diesem Verzeichnis eine eigene .properties-Datei. Beispiel: router.properties und management-server.properties.
Wenn Sie ein Attribut für eine Komponente festlegen möchten, bearbeiten Sie die entsprechende .properties-Datei und starten Sie die Komponente dann neu:
> /opt/apigee/apigee-service/bin/apigee-service component restart
Beispiel:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
Wenn Sie Edge aktualisieren, werden die .properties-Dateien im Verzeichnis /opt/apigee/customer/application gelesen. Das bedeutet, dass bei der Aktualisierung alle Attribute beibehalten werden, die Sie für die Komponente festgelegt haben.
Weitere Informationen zur Edge-Konfiguration finden Sie unter Edge konfigurieren.
Sicherstellen, dass der Edge-Router auf /etc/rc.d/init.d/functions zugreifen kann
Der Edge-Router und das BaaS-Portal verwenden beide den Nginx-Router und benötigen Lesezugriff auf /etc/rc.d/init.d/functions.
Wenn Ihr Sicherheitsprozess erfordert, dass Sie Berechtigungen für /etc/rc.d/init.d/functions festlegen, legen Sie diese nicht auf 700 fest, da der Router sonst nicht gestartet werden kann. Die Berechtigungen können auf 744 festgelegt werden, um Lesezugriff auf /etc/rc.d/init.d/functions zu gewähren.
Befehle für Edge-Komponenten aufrufen
Edge installiert Verwaltungsprogramme unter /opt/apigee/apigee-service/bin, mit denen Sie eine Edge-Installation verwalten können. Beispielsweise können Sie mit dem Dienstprogramm apigee-all alle Edge-Komponenten auf dem Knoten starten, beenden, neu starten oder den Status ermitteln:
/opt/apigee/apigee-service/bin/apigee-all stop|start|restart|status|version
Verwenden Sie das Dienstprogramm apigee-service, um einzelne Komponenten zu steuern und zu konfigurieren. Das Dienstprogramm apigee-service hat folgendes Format:
/opt/apigee/apigee-service/bin/apigee-service component action
So starten Sie beispielsweise den Edge-Router neu:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
Sie können die Liste der auf dem Knoten installierten Komponenten im Verzeichnis /opt/apigee einsehen. Dieses Verzeichnis enthält ein Unterverzeichnis für jede auf dem Knoten installierte Edge-Komponente. Jedem Unterverzeichnis wird Folgendes vorangestellt:
- apigee: Eine von Edge verwendete Drittanbieterkomponente. Beispiel: apigee-cassandra.
- edge: eine Edge-Komponente von Apigee. Beispiel: edge-management-server.
- edge-mint: eine Monetarisierungskomponente. Beispiel: edge-mint-management-server.
- baas: eine API-BaaS-Komponente. Beispiel: baas-usergrid.
Die vollständige Liste der Aktionen für eine Komponente hängt von der Komponente selbst ab. Alle Komponenten unterstützen jedoch die folgenden Aktionen:
- start, stop, restart
- status, version
- Sicherung, Wiederherstellung
- install, uninstall
Auf Logdateien zugreifen
Die Logdatei für apigee-setup und das Skript setup.sh werden in /tmp/setup-root.log geschrieben.
Die Logdateien für jede Komponente befinden sich im Verzeichnis /opt/apigee/var/log. Jede Komponente hat ein eigenes Unterverzeichnis. Die Logs für den Management Server befinden sich beispielsweise im Verzeichnis:
/opt/apigee/var/log/edge-management-server
Gängige Yum-Befehle
Die Edge-Installationstools für Linux verwenden Yum, um Komponenten zu installieren und zu aktualisieren. Möglicherweise müssen Sie mehrere Yum-Befehle verwenden, um eine Installation auf einem Knoten zu verwalten.
- Löschen Sie alle Yum-Caches:
sudo yum clean all - So aktualisieren Sie eine Edge-Komponente:
sudo yum update componentName
Beispiel:
sudo yum update apigee-setup
sudo yum update edge-management-server
Dateisystemstruktur
Edge installiert alle Dateien im Verzeichnis /opt/apigee.
In diesem Leitfaden und im Edge-Betriebsleitfaden wird das Stammverzeichnis der Installation so angegeben:
<inst_root>/apigee
Bei der Installation wird die folgende Dateisystemstruktur verwendet, um Apigee Edge for Private Cloud bereitzustellen.
Protokolldateien
|
Komponenten |
Standort |
|---|---|
|
Verwaltungsserver |
<inst_root>/apigee/var/log/edge-management-server |
|
Router |
<inst_root>/apigee/var/log/edge-router |
|
Message Processor |
<inst_root>/apigee/var/log/edge-message-processor |
|
Apigee Qpid-Server |
<inst_root>/apigee/var/log/edge-qpid-server |
|
Apigee Postgres-Server |
<inst_root>/apigee/var/log/edge-postgres-server |
|
Edge-UI |
<inst_root>/apigee/var/log/edge-ui |
|
ZooKeeper |
<inst_root>/apigee/var/log/apigee-zookeeper |
|
OpenLDAP |
<inst_root>/apigee/var/log/apigee-openldap |
|
Cassandra |
<inst_root>/apigee/var/log/apigee-cassandra |
|
Qpidd |
<inst_root>/apigee/var/log/apigee-qpidd |
|
PostgreSQL-Datenbank |
<inst_root>/apigee/var/log/apigee-postgresql |
Daten
|
Komponenten |
Standort |
|---|---|
|
Verwaltungsserver |
<data_root>/apigee/data/edge-management-server |
|
Router |
<data_root>/apigee/data/edge-router |
|
Message Processor |
<data_root>/apigee/data/edge-message-processor |
|
Apigee Qpid-Agent |
<data_root>/apigee/data/edge-qpid-server |
|
Apigee Postgres-Agent |
<data_root>/apigee/data/edge-postgres-server |
|
ZooKeeper |
<data_root>/apigee/data/apigee-zookeeper |
|
OpenLDAP |
<data_root>/apigee/data/apigee-openldap |
|
Cassandra |
<data_root>/apigee/data/apigee-cassandra/data |
|
Qpidd |
<data_root>/apigee/data/apigee-qpid/data |
|
PostgreSQL-Datenbank |
<data_root>/apigee/data/apigee-postgres/pgdata |