Edge-Installation – Übersicht

Edge for Private Cloud Version 4.16.09

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 stellen Sie es auf den Permissive-Modus ein. Weitere Informationen finden Sie unter Edge-Dienstprogramm für Apigee-Einrichtung installieren.
  • Wählen Sie Ihre Edge-Konfiguration aus der Liste der empfohlenen Topologien aus. Sie können Edge beispielsweise zu Testzwecken auf einem einzelnen Knoten oder für die Produktion auf 13 Knoten 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.09.sh in /tmp/bootstrap_4.16.09.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 für Apigee-Einrichtung 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 auf einem Knoten.
  • Verwenden Sie auf dem Management Server-Knoten das Dienstprogramm „apigee-setup“, um apigee-provision zu installieren, also die Dienstprogramme, mit denen Sie Edge-Organisationen erstellen und verwalten.
    Weitere Informationen finden Sie unter Organisation aufnehmen.

Fehler bei der Installation beheben

Bei einem Fehler während der Installation einer Edge-Komponente können Sie versuchen, das Problem zu beheben, und das Installationsprogramm dann noch einmal ausführen. Das Installationsprogramm ist so konzipiert, dass es wiederholt ausgeführt wird, wenn ein Fehler festgestellt wird oder wenn Sie eine Komponente später nach der Installation ändern oder aktualisieren möchten.

Postgres-Master-Standby-Replikation konfigurieren

Standardmäßig installiert Edge alle Postgres-Knoten im Mastermodus. In Produktionssystemen mit mehreren Postgres-Knoten konfigurieren Sie diese jedoch für die Verwendung der Master-Standby-Replikation. Wenn der Master-Knoten ausfällt, kann der Stand-by-Knoten also weiterhin Traffic bereitstellen. Weitere Informationen finden Sie unter Master-Standby-Replikation für Postgres einrichten.

Wer kann die Installation durchführen?

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 uneingeschränktem sudo-Zugriff ausgeführt werden. Für vollständigen Sudo-Zugriff bedeutet das, dass der Nutzer sudo-Zugriff hat, um dieselben Vorgänge wie Root auszuführen.

Nutzer, die die folgenden Befehle oder Skripts ausführen möchten, müssen entweder ein Root-Nutzer oder ein Nutzer mit uneingeschränktem sudo-Zugriff sein:

  • apigee-service:
    • apigee-service-Befehle: installieren, deinstallieren, aktualisieren.
    • apigee-all-Befehle: installieren, deinstallieren, aktualisieren.
  • setup.sh-Skript zum Installieren von Edge-Komponenten (es sei denn, Sie haben bereits apigee-service install zum Installieren der erforderlichen RPMs verwendet). Danach Root- oder vollständigen Sudo-Zugriff, falls nicht erforderlich.)
  • Skript update.sh zum Aktualisieren von Edge-Komponenten

Außerdem erstellt das Edge-Installationsprogramm einen neuen Benutzer mit dem Namen „apigee“ auf Ihrem System. Viele Edge-Befehle rufen sudo auf, um als „apigee“-Benutzer ausgeführt zu werden.

Jeder Benutzer, der alle anderen als die oben aufgeführten Befehle ausführen möchte, muss ein Benutzer mit vollständigem sudo-Zugriff auf den Benutzer „apigee“ sein. Zu diesen Befehlen gehören:

  • apigee-service-Dienstprogrammbefehle, einschließlich:
    • apigee-service-Befehle wie start, stop, start, configure verwenden.
    • apigee-all-Befehle wie start, stop, neu starten, konfigurieren.

Bearbeiten Sie die sudoers-Datei und fügen Sie Folgendes hinzu, um einen Nutzer so zu konfigurieren, dass er vollständigen sudo-Zugriff auf den Nutzer „apigee“ hat:

installUser        ALL=(apigee)      NOPASSWD: ALL

Dabei ist installUser der Nutzername der Person, die mit Edge arbeitet.

Alle von den Edge-Befehlen verwendeten Dateien oder Ressourcen müssen für den Benutzer „apigee“ zugänglich sein. Dies umfasst die Edge-Lizenzdatei und alle Konfigurationsdateien.

Beim Erstellen einer Konfigurationsdatei können Sie ihren Eigentümer in „apigee:apigee“ ändern, um sicherzustellen, dass sie für Edge-Befehle zugänglich ist:

  1. Erstellen Sie die Datei als beliebiger Nutzer in einem Editor.
  2. Wählen Sie als Eigentümer der Datei „apigee:apigee“ aus. Wenn Sie den Benutzer, der den Edge-Dienst vom Benutzer „apigee“ ausführt, geändert haben, ändern Sie die Datei für den Benutzer, der den Edge-Dienst ausführt.

Speicherort der Konfigurationsdateien für die Installation

Sie müssen eine Konfigurationsdatei an das Dienstprogramm apigee-setup übergeben, das die Informationen über die Edge-Installation enthält. Die einzige Anforderung bei automatischen Installationen besteht darin, dass die Konfigurationsdatei für den „apigee“-Benutzer zugänglich oder lesbar sein muss. Speichern Sie die Datei beispielsweise im Verzeichnis /usr/local/var oder /usr/local/share auf dem Knoten und geben Sie ihr den Namen „apigee:apigee“.

Alle Informationen in der Konfigurationsdatei sind mit Ausnahme des Kennworts des Edge-Systemadministrators erforderlich. Wenn Sie das Passwort weglassen, werden Sie vom Dienstprogramm apigee-setup aufgefordert, es in die Befehlszeile einzugeben.

Weitere Informationen finden Sie unter Edge-Komponenten auf einem Knoten installieren.

Installation mit oder ohne Internet

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.

    Hinweis: Apigee hostet nicht alle Abhängigkeiten von Drittanbietern in unseren öffentlichen Repositories. Sie müssen diese Abhängigkeiten aus öffentlich zugänglichen Repositories herunterladen und installieren.

RPM-Installationsabhängigkeiten auflösen

Die Apigee Edge-Distributionsdateien werden als eine Reihe von RPM-Dateien installiert, von denen jede eine eigene Kette von Installationsabhängigkeiten haben kann. Viele dieser Abhängigkeiten werden durch Komponenten von Drittanbietern definiert, die sich außerhalb der Kontrolle von Apigee befinden und jederzeit geändert werden können. Daher enthält die Dokumentation nicht die explizite Versionsnummer jeder Abhängigkeit.

Wenn Sie die Installation auf einem Computer mit Internetzugang durchführen, kann der Knoten die erforderlichen RPMs und Abhängigkeiten herunterladen. Wenn die Installation jedoch von einem Knoten ohne Internetzugang erfolgt, richten Sie normalerweise 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 durchzuführen, fehlende Abhängigkeiten zu ermitteln 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, auf denen ein API-Proxy verfügbar gemacht wird, und folglich auch die URL, mit der Apps auf einen API-Proxy zugreifen. Ein virtueller Host definiert außerdem, ob der Zugriff auf den API-Proxy über das HTTP-Protokoll oder über das verschlüsselte HTTPS-Protokoll erfolgt.

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, mit dem Sie in Ihren API-Proxys darauf verweisen.
  • Port des Routers für den virtuellen Host. Normalerweise beginnen diese Ports bei 9001 und werden für jeden neuen virtuellen Host um 1 erhöht.
  • 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 Hostaliasse, 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 Hostalias eines virtuellen Hosts übereinstimmt, oder geben Sie die IP-Adresse des Routers und den Header Host an, der den Hostalias enthält.

Wenn Sie beispielsweise einen virtuellen Host mit dem Hostalias myapis.apigee.net an Port 9001 erstellt haben, kann eine cURL-Anfrage an eine API über diesen virtuellen Host eine der folgenden Formen verwenden:

  • Wenn ein DNS-Eintrag für myapis.apigee.net vorhanden ist:

    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 Sie den Hostalias im Hostheader.

    Hinweis: Durch den Befehl „curl“, die meisten Browser und viele andere Dienstprogramme wird bei der Anfrage automatisch der Hostheader mit der Domain angehängt. Sie können also einen curl-Befehl im folgenden Format verwenden:


    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 Hostalias auf die IP-Adresse des Routers und den Port des virtuellen Hosts als <routerIP>:port festlegen. Beispiel:

192.168.1.31:9001

Dann führen Sie einen curl-Befehl in der folgenden Form 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 Hostalias hinzu und geben Sie die IP-Adresse jedes Routers sowie den Port des virtuellen Hosts an.

Alternativ können Sie den Hostalias auf einen Wert wie temp.hostalias.com festlegen. Dann müssen Sie den Header Host bei jeder Anfrage übergeben:

curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path}  -H 'host: temp.hostalias.com'

Oder fügen Sie der Datei /etc/hosts den Hostalias hinzu. Fügen Sie beispielsweise diese Zeile zu /etc/hosts hinzu:

192.168.1.31   temp.hostalias.com

Sie können dann eine Anfrage wie einen DNS-Eintrag stellen:

curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}

Edge-Komponenten nach der Installation konfigurieren

Um Edge nach der Installation zu konfigurieren, 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. Änderungen an .properties-Dateien erfordern einen Neustart der betroffenen Edge-Komponente.

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.

Um eine Eigenschaft für eine Komponente festzulegen, bearbeiten Sie die entsprechende .properties-Datei und starten Sie dann die Komponente 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 Eigenschaften beibehalten werden, die Sie für die Komponente festgelegt haben.

Weitere Informationen zur Edge-Konfiguration finden Sie unter Edge konfigurieren.

Achten Sie darauf, dass Edge Router auf /etc/rc.d/init.d/functions zugreifen kann

Der Edge Router und ein BaaS-Portal verwenden beide den Nginx-Router und benötigen Lesezugriff auf /etc/rc.d/init.d/functions.

Wenn Ihr Sicherheitsprozess es erfordert, Berechtigungen für /etc/rc.d/init.d/functions festzulegen, setzen Sie diese nicht auf 700, da der Router sonst nicht gestartet werden kann. Berechtigungen können auf 744 gesetzt werden, um den Lesezugriff auf /etc/rc.d/init.d/functions zuzulassen.

Befehle für Edge-Komponenten aufrufen

Edge installiert Verwaltungsdienstprogramme unter /opt/apigee/apigee-service/bin, die Sie zum Verwalten einer Edge-Installation verwenden können. Sie können beispielsweise das Dienstprogramm apigee-all zum Starten, Stoppen, Neustarten oder zum Ermitteln des Status aller Edge-Komponenten auf dem Knoten verwenden:

/opt/apigee/apigee-service/bin/apigee-all stop|start|restart|status|version

Verwenden Sie das Dienstprogramm apigee-service zum Steuern und Konfigurieren einzelner Komponenten. Das Dienstprogramm apigee-service hat das 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 ermitteln, indem Sie das Verzeichnis /opt/apigee untersuchen. 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 ist 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:

  • starten, stoppen, neu starten
  • Status, Version
  • Back-up, Wiederherstellung
  • Installieren, deinstallieren

Auf Protokolldateien zugreifen

Die Logdatei für apigee-setup und das Skript setup.sh werden in /tmp/setup-root.log geschrieben.

Die Protokolldateien für jede Komponente sind im Verzeichnis /opt/apigee/var/log enthalten. Jede Komponente hat ihr eigenes Unterverzeichnis. Die Logs für den Verwaltungsserver befinden sich beispielsweise im Verzeichnis:

/opt/apigee/var/log/edge-management-server

Gängige Yum-Befehle

Die Edge-Installationstools für Linux benötigen 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.

  • Bereinigen 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

Struktur des Dateisystems

Edge installiert alle Dateien im Verzeichnis /opt/apigee.

In diesem Handbuch und im Edge-Betriebshandbuch wird das Stammverzeichnis für die Installation folgendermaßen bezeichnet:

<inst_root>/apigee

Die Installation verwendet die folgende Dateisystemstruktur, um Apigee Edge für 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-Benutzeroberfläche

<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