Schritt 2: GKE installieren und einrichten

In diesem Schritt wird beschrieben, wie Sie apigeectl herunterladen und installieren, Installationsverzeichnisse einrichten sowie Google Cloud-Dienstkonten und TLS-Anmeldedaten erstellen, die für das Ausführen von Apigee Hybrid erforderlich sind.

apigeectl herunterladen und installieren

apigeectl ist die Befehlszeile zur Installation und Verwaltung von Apigee Hybrid in einem Kubernetes-Cluster.

In den folgenden Schritten wird beschrieben, wie Sie apigeectl erhalten:

  1. Laden Sie das Release-Paket für Ihr Betriebssystem mit folgendem Befehl herunter:

    Mac 64-Bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_mac_64.tar.gz

    Linux 64-Bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_64.tar.gz

    Mac 32-Bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_mac_32.tar.gz

    Linux 32-Bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_32.tar.gz
  2. Erstellen Sie auf Ihrem System ein Verzeichnis, das als Basisverzeichnis für die Installation von Apigee Hybrid verwendet wird.
  3. Extrahieren Sie die heruntergeladenen GZIP-Dateiinhalte in das soeben erstellte Basisverzeichnis. Beispiel:

    tar xvzf filename.tar.gz -C path-to-base-directory
  4. Wechseln Sie in das Basisverzeichnis.
  5. Die TAR-Inhalte werden standardmäßig in ein Verzeichnis mit der Version und der Plattform in ihrem Namen erweitert. Beispiel: ./apigeectl_1.0.0-f7b96a8_linux_64. Benennen Sie dieses Verzeichnis mit dem folgenden Befehl in apigeectl um:

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  6. Wechseln Sie in das Verzeichnis. Beispiel:
    cd ./apigeectl

    Dieses Verzeichnis ist das Basisverzeichnis apigeectl. Hier befindet sich der ausführbare Befehl apigeectl.

  7. Erstellen Sie mit folgendem Befehl eine Umgebungsvariable, die diesen Pfad des Basisverzeichnisses enthält:
    export APIGEECTL_HOME=$PWD
  8. Prüfen Sie mit dem folgenden Befehl, ob die Variable den richtigen Pfad enthält:
    echo $APIGEECTL_HOME

Projektverzeichnisstruktur einrichten

Die unten beschriebene Verzeichnisstruktur ist ein vorgeschlagener Ansatz. Es trennt die Apigee Hybrid-Releasesoftware von Konfigurationsdateien, die Sie erstellen müssen. Mit der Variable $APIGEECTL_HOME und symbolischen Links, die Sie erstellen, können Sie bei Bedarf jederzeit zu einer neuen Softwareversion wechseln. Siehe auch Upgrade von Apigee Hybrid.

  1. Sie müssen sich im Basisverzeichnis befinden (das Verzeichnis, in dem sich das Verzeichnis apigeectl befindet).
  2. Erstellen Sie einen neuen Ordner mit dem Namen hybrid-files. Sie können dem Verzeichnis einen beliebigen Namen geben. In den Dokumenten wird jedoch der Name hybrid-files konsistent verwendet. Später speichern Sie Konfigurationsdateien, Dienstkontoschlüssel und TLS-Zertifikate in diesem Ordner. In diesem Ordner können Sie Ihre Konfigurationsdateien von der Softwareinstallation apigeectl getrennt halten:
    mkdir hybrid-files
  3. Die aktuelle Verzeichnisstruktur sieht jetzt so aus:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. Wechseln Sie mit folgendem Befehl in das Verzeichnis hybrid-files:
    cd hybrid-files
  5. Erstellen Sie im Verzeichnis hybrid-files die folgenden Unterverzeichnisse, um Dateien zu organisieren, die Sie später mit den folgenden Befehlen erstellen:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. Erstellen Sie im Verzeichnis hybrid-files die folgenden symbolischen Links zu $APIGEECTL_HOME. Mit diesen Links können Sie den Befehl apigeectl im Verzeichnis hybrid-files ausführen.
    ln -s $APIGEECTL_HOME/tools tools
    ln -s $APIGEECTL_HOME/config config
    ln -s $APIGEECTL_HOME/templates templates
    ln -s $APIGEECTL_HOME/plugins plugins
  7. Prüfen Sie, ob die Symlinks ordnungsgemäß erstellt wurden. Führen Sie dazu den folgenden Befehl aus und achten Sie darauf, dass die Linkpfade auf die richtigen Speicherorte verweisen:
    ls -l | grep ^l
    

Dienstkonten erstellen

Apigee hybrid verwendet Google Cloud-Dienstkonten, um die Kommunikation zwischen hybriden Komponenten durch autorisierte API-Aufrufe zu ermöglichen. In diesem Schritt verwenden Sie ein Hybrid-Befehlszeilentool von Apigee, um eine Reihe von Dienstkonten zu erstellen. Das Tool lädt auch die privaten Schlüssel für das Dienstkonto herunter. Diese Schlüssel müssen Sie dann Ihrer Konfigurationsdatei für den Apigee-Hybridcluster hinzufügen.

Erstellen Sie die Schlüssel:

  1. Achten Sie darauf, dass Sie sich im Verzeichnis base_directory/hybrid-files befinden.
  2. Führen Sie den folgenden Befehl im Verzeichnis hybrid-files aus. Mit diesem Befehl wird ein Dienstkonto für die Komponente apigee-metrics erstellt und der heruntergeladene Schlüssel im Verzeichnis ./service-accounts abgelegt:
    ./tools/create-service-account apigee-metrics ./service-accounts

    Wenn die folgende Eingabeaufforderung angezeigt wird, geben Sie y ein:

    [INFO]: gcloud configured project ID is project_id.
     Press: y to proceed with creating service account in project: project_id
     Press: n to abort.

    Wenn ein Dienstkonto zum ersten Mal mit genau dem Namen erstellt wird, der vom Tool zugewiesen wurde, wird es einfach vom Tool erstellt. Sie müssen nichts weiter tun.

    Wenn jedoch die folgende Meldung und Eingabeaufforderung angezeigt wird, geben Sie y ein, um neue Schlüssel zu generieren:

    [INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not de-activate existing keys)
     Press: n to skip generating new keys.
     
  3. Erstellen Sie nun mit den folgenden Befehlen die übrigen Dienstkonten:
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts
  4. Prüfen Sie, ob die Dienstkontoschlüssel erstellt wurden. Sie sind dafür verantwortlich, diese privaten Schlüssel sicher zu speichern. Den Schlüsselnamen ist der Name Ihres Google Cloud-Projekts vorangestellt. Beispiel:
    ls ./service-accounts
    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-logger.json
    gcp-project-id-apigee-mart.json
    gcp-project-id-apigee-metrics.json
    gcp-project-id-apigee-synchronizer.json
    gcp-project-id-apigee-udca.json

TLS-Zertifikate erstellen

Sie müssen TLS-Zertifikate für die MART- und Laufzeit-Ingress-Gateways in der Apigee-Hybridkonfiguration bereitstellen. Die für das MART-Gateway verwendeten Anmeldedaten müssen von einer Zertifizierungsstelle autorisiert werden. Bei dieser Kurzanleitung (eine Nicht-Produktions-Testinstallation) akzeptiert das Laufzeitgateway selbst signierte Anmeldedaten.

In diesem Schritt erstellen Sie die TLS-Anmeldedatendateien und fügen sie dem Verzeichnis base_directory/hybrid-files/certs hinzu. In Schritt 3: Cluster konfigurieren fügen Sie der Clusterkonfigurationsdatei die Dateipfade hinzu.

Erstellen Sie TLS-Anmeldedaten für das Laufzeit-Gateway

Das Laufzeit-Ingress-Gateway (das den API-Proxy-Traffic verarbeitende Gateway) erfordert ein TLS-Zertifikat/-Schlüsselpaar. Für diese Schnellinstallation können Sie selbst signierte Anmeldedaten verwenden. In folgenden Schritten wird openssl zum Generieren der Anmeldedaten verwendet.

  1. Achten Sie darauf, dass Sie sich im Verzeichnis base_directory/hybrid-files befinden.
  2. Führen Sie den folgenden Befehl im Verzeichnis hybrid-files mit dem folgenden Befehl aus:
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN=mydomain.net' -days 3650

    Dieser Befehl erstellt ein selbst signiertes Zertifikat/Schlüsselpaar, das Sie für die Schnellinstallation verwenden können. Der CN-mydomain.net kann ein beliebiger Wert für die selbst signierten Anmeldedaten sein.

  3. Prüfen Sie mit dem folgenden Befehl, ob sich die Dateien im Verzeichnis ./certs befinden:
    ls ./certs
      keystore.pem
      keystore.key

    Dabei ist keystore.pem die selbst signierte TLS-Zertifikatsdatei und keystore.key die Schlüsseldatei.

TLS-Anmeldedaten für das MART-Gateway erstellen

Wie unter Vorbereitung angegeben, muss ein autorisiertes TLS-Zertifikat/-Schlüssel für die MART-Gateway-Konfiguration verwendet werden. Sofern noch nicht geschehen, rufen Sie diese Anmeldedaten ab oder erstellen Sie sie.

  1. Ein TLS-Zertifikat/-Schlüssel anfordern, das von einer Zertifizierungsstelle autorisiert wurde. Ein Beispiel zeigt, wie Sie diese Anmeldedaten mithilfe der Let's Encrypt-CA erhalten. Beachten Sie, dass der Common Name (CN) des Zertifikats ein gültiger DNS-Name sein muss. Die Beispielschritte finden Sie unter TLS-Anmeldedaten abrufen: Beispiel.
  2. Kopieren Sie die Anmeldedaten in das Verzeichnis base_directory/hybrid-files/certs.
  3. Wenn Sie fertig sind, sollten Sie im Verzeichnis ./certs zwei Paare von Anmeldedatendateien haben. Beispiel:
    ls ./certs
      fullchain.pem
      privkey.key
      keystore.pem
      keystore.key

    Dabei ist fullchain.pem die autorisierte TLS-Zertifikatsdatei und privkey.key die autorisierte Schlüsseldatei.

Fazit

Sie haben nun eine Basis, in der Sie Apigee Hybrid in Ihrem Kubernetes-Cluster konfigurieren, bereitstellen und verwalten können. Als Nächstes erstellen Sie eine Datei, mit der Kubernetes die Hybridlaufzeitkomponenten im Cluster bereitstellt.

1 2 (WEITER) Schritt 3: Cluster konfigurieren 4