Schritt 3: apigeectl installieren

In diesem Schritt wird beschrieben, wie Sie apigeectl auf Ihrem Anthos GKE on AWS-Administratorcomputer herunterladen und installieren. Zu den Schritten gehören das Einrichten von Installationsverzeichnissen, das Erstellen von Google Cloud-Dienstkonten, die für die Kommunikation zwischen Hybrid-Komponenten benötigt werden, und das Erstellen von TLS-Anmeldedaten, 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 auf apigeectl zugreifen:

  1. Speichern Sie die aktuelle Versionsnummer mit dem folgenden Befehl in einer Variablen:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. Prüfen Sie mit dem folgenden Befehl, ob die Variable mit einer Versionsnummer ausgefüllt wurde. Wenn Sie eine andere Version verwenden möchten, können Sie diese stattdessen in einer Umgebungsvariablen speichern.
    echo $VERSION
  3. Laden Sie das Releasepaket für Ihr Betriebssystem mit dem folgendem Befehl herunter:

    Mac 64-Bit:

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

    Linux 64-Bit:

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

    Mac 32-Bit:

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

    Linux 32-Bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Erstellen Sie ein Verzeichnis auf Ihrem System, das als Basisverzeichnis für die Installation von Apigee Hybrid verwendet wird.
  5. Extrahieren Sie den Inhalt der heruntergeladenen GZIP-Datei mit dem folgenden Befehl in das Verzeichnis, das Sie gerade erstellt haben:

    tar xvzf filename.tar.gz -C path-to-base-directory
  6. Ändern Sie das Verzeichnis mit dem Befehl cd in das Basisverzeichnis.
  7. Die TAR-Inhalte werden standardmäßig in einem Verzeichnis gezeigt, dessen Name die Version und Plattform enthält. 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
  8. Wechseln Sie mit dem folgenden Befehl in das Verzeichnis:
    cd ./apigeectl

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

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

Projektverzeichnisstruktur einrichten

Die folgende Verzeichnisstruktur ist ein Vorschlag. Hier wird die Apigee Hybrid-Releasesoftware von Konfigurationsdateien getrennt, 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 Apigee Hybrid aktualisieren.

  1. Prüfen Sie mit dem folgenden Befehl, ob Sie das Basisverzeichnis (Verzeichnis, in dem sich das Verzeichnis apigeectl befindet) geöffnet haben:
    cd $APIGEECTL_HOME/..
  2. Erstellen Sie mit dem folgenden Befehl einen neuen Ordner mit dem Namen hybrid-files. Sie können dem Verzeichnis einen beliebigen Namen geben. In der Anleitung wird jedoch der Name hybrid-files einheitlich verwendet. Später speichern Sie Konfigurationsdateien, Dienstkontoschlüssel und TLS-Zertifikate in diesem Ordner. Außerdem können Sie in diesem Ordner 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 die folgenden Unterverzeichnisse im Verzeichnis hybrid-files, um Dateien zu organisieren, die Sie später 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 innerhalb des Verzeichnisses hybrid-files ausführen. Nachfolgend sehen Sie ein Beispiel dafür:
    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 Hybrid-Komponenten über autorisierte API-Aufrufe zu ermöglichen. In diesem Schritt verwenden Sie ein Apigee Hybrid-Befehlszeilentool, 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 Hybrid-Cluster hinzufügen.

Apigee stellt das Tool create-service-account bereit, mit dem das Dienstkonto erstellt wird, die Rollen dem Dienstkonto zugewiesen werden und die Schlüsseldateien für das Dienstkonto in einem einzigen Befehl erstellt und heruntergeladen werden. Weitere Informationen zu den verknüpften Google Cloud-Konzepten finden Sie unter Dienstkonten erstellen und verwalten und Dienstkontoschlüssel erstellen und verwalten.

  1. Sie müssen sich in dem Verzeichnis base_directory/hybrid-files befinden, das Sie unter Projektverzeichnisstruktur einrichten konfiguriert haben.
  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 die übrigen Dienstkonten mit den folgenden Befehlen: Der Befehl create-service-account ist interaktiv und erfordert eine Antwort für jedes Konto.
    ./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
    ./tools/create-service-account apigee-watcher ./service-accounts
  4. Prüfen Sie mit dem folgenden Befehl, 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.
    ls ./service-accounts

    Das Ergebnis sollte ungefähr so aussehen:

    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
    gcp-project-id-apigee-watcher.json
  5. Weisen Sie den apigee-org-admin-Dienstkonten die Rolle „Apigee-Organisationsadministrator“ zu:
  6. Prüfen Sie, ob die E-Mail-Adresse für das Dienstkonto apigee-org-admin dem Muster service_account@PROJECT_ID.iam.gserviceaccount.com entspricht. Nachfolgend sehen Sie ein Beispiel:
    gcloud iam service-accounts list --filter "apigee-org-admin"
  7. Weisen Sie die Rolle mit dem folgenden Befehl zu:
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com --role roles/apigee.admin

    Dabei ist PROJECT_ID Ihr Google Cloud-Projekt. Wenn die E-Mail-Adressen Ihres Dienstkontos von diesem Muster abweichen, ersetzen Sie sie entsprechend.

    Die Ausgabe sollte eine Liste aller Dienstkonten und deren Rollen enthalten, darunter:

    - members:
      - serviceAccount:apigee-org-admin@hybrid-example-2.iam.gserviceaccount.com
      role: roles/apigee.admin

TLS-Zertifikate erstellen

Sie müssen TLS-Zertifikate für das Laufzeit-Ingress-Gateway in Ihrer Apigee Hybrid-Konfiguration bereitstellen. Bei dieser Kurzanleitung (eine Nicht-Produktions-Testinstallation) akzeptiert das Laufzeitgateway selbst signierte Anmeldedaten. In den folgenden Schritten wird openssl verwendet, um die selbst signierten Anmeldedaten zu generieren.

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

  1. Sie müssen sich in dem Verzeichnis base_directory/hybrid-files befinden, das Sie unter Projektverzeichnisstruktur einrichten konfiguriert haben.
  2. Achten Sie darauf, dass Ihr Domainname in der Umgebungsvariablen DOMAIN gespeichert wird. Verwenden Sie dazu den folgenden Befehl:
    echo $DOMAIN
  3. Führen Sie den folgenden Befehl im Verzeichnis hybrid-files aus:
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650

    Dabei ist DOMAIN die Domain, die Sie in Schritt 5: DNS konfigurieren der Kurzanleitung für Ihre Hybrid-Installation reserviert haben.

    Mit diesem Befehl wird ein selbst signiertes Zertifikat-/Schlüsselpaar erstellt, das Sie für die Schnellinstallation verwenden können.

  4. 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.

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 Hybrid-Laufzeitkomponenten im Cluster bereitstellt.

1 2 3 (ALS NÄCHSTES) Schritt 4: Cluster konfigurieren 5