Schritt 4: Hybrid in GKE installieren

Konfiguration auf den Cluster anwenden

So installieren Sie Apigee Hybrid in Ihrem Cluster:

  1. Sie müssen sich im Verzeichnis hybrid-base-directory/hybrid-files befinden.
  2. Prüfen Sie, ob kubectl auf den richtigen Kontext eingestellt ist. Der aktuelle Kontext sollte auf den Cluster eingestellt werden, für den Sie die Bereitstellung ausführen:
    kubectl config get-contexts
  3. Führen Sie den Befehl init aus.
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    Mit dem Befehl init werden die Apigee-Bereitstellungsdienste Apigee Deployment Controller und Apigee Admission Webhook installiert. Außerdem werden damit die Nicht-Apigee-Komponenten Istio und Cert Manager bereitgestellt.

  4. Mit den folgenden Befehlen können Sie den Status der Bereitstellung prüfen:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

    und

    kubectl get pods -n apigee-system

    und

    kubectl get pods -n istio-system

    Wenn die Pods bereit sind, fahren Sie mit dem nächsten Schritt fort.

  5. Führen Sie eine "Probelauf"-Installation aus. Führen Sie den Befehl apply mit dem Flag --dry-run=true aus. Bei einem Probelauf können Sie prüfen, ob Fehler vorliegen, bevor Änderungen am Cluster vorgenommen werden.
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
  6. Wenn keine Fehler auftreten, können Sie die Apigee-spezifischen Laufzeitkomponenten auf den Cluster anwenden:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  7. So prüfen Sie den Status der Bereitstellung:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

    Wiederholen Sie diesen Schritt, bis die Pods bereit sind. Das Starten der Pods kann einige Minuten dauern.

Synchronizer-Zugriff aktivieren

  1. Erstellen Sie ein GCP-Dienstkonto und fügen Sie ihm die Rolle Apigee-Organisationsadministrator hinzu. Dieses Dienstkonto wird zur Authentifizierung eines API-Aufrufs verwendet, den Sie in einem späteren Schritt ausführen. Über die GCP Console kann das Dienstkonto ganz einfach erstellt werden. Informationen dazu finden Sie in der GCP-Dokumentation unter Dienstkonten erstellen und verwalten.
  2. Laden Sie den Dienstkontoschlüssel auf Ihr System herunter. Folgen Sie der Anleitung unter Dienstkontoschlüssel erstellen in der GCP-Dokumentation.
  3. Verschieben Sie den heruntergeladenen Dienstkontoschlüssel in Ihr Dienstkontoverzeichnis: /hybrid-base-directory/hybrid-files/service-accounts.
  4. Führen Sie die folgenden beiden Befehle aus, um ein Token abzurufen:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    Dabei ist org-admin-service-account-file der Pfad in Ihrem System zum Dienstkontoschlüssel, den Sie mit der Rolle Apigee Organization Admin heruntergeladen haben.

  5. Rufen Sie die setSyncAuthorization-API auf, um die erforderlichen Berechtigungen für Synchronizer zu aktivieren:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:synchronizer-manager-service-account-email"]}'
    

    Wobei:

    • your_org_name: der Name Ihrer Hybridorganisation.
    • synchronizer-manager-service-account-email ist der Name eines Dienstkontos mit der Rolle Apigee Synchronizer Manager. Der Name sieht wie eine E-Mail-Adresse aus. Beispiel: apigee-synchronizer@my-project.iam.gserviceaccount.com

    Beispiel:

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:apigee-synchronizer@my-project.iam.gserviceaccount.com"]}'
    
  6. Rufen Sie die folgende API auf, um eine Liste der Dienstkonten abzurufen. So können Sie prüfen, ob das Dienstkonto entsprechend festgelegt wurde:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''
    

    Die Ausgabe sieht dann ungefähr so aus:

    {
       "identities":[
          "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }
        

MART-Host-Alias zur Organisation hinzufügen

Sie müssen den Host-Alias des MART-Endpunkts zu Ihrer Apigee-Organisation hinzufügen. Sie legen diesen Wert zuvor fest, wenn Sie den Wert des Attributs mart.hostAlias in der Überschreibungsdatei festlegen. Die Verwaltungsebene benötigt diese Adresse, damit sie über MART mit der Laufzeitebene kommunizieren kann.

So fügen Sie Ihrer Organisation den MART-Host-Alias hinzu:

  1. Rufen Sie den Wert ab, den Sie zuvor in der Überschreibungsdatei für das Attribut mart.hostAlias festgelegt haben. Damit MART funktioniert, muss das Host-Alias ein vollständig qualifizierter Domainname sein.
  2. Suchen Sie nach dem Dienstkontoschlüssel mit der Rolle, die Sie zuvor im Abschnitt Apigee Organization Admin heruntergeladen haben, im Abschnitt Synchronisatorzugriff aktivieren.
  3. Führen Sie die folgenden beiden Befehle aus, um ein Token abzurufen:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    Dabei ist org-admin-service-account-file der Pfad in Ihrem System zum Dienstkontoschlüssel, den Sie mit der Rolle Apigee Organization Admin heruntergeladen haben.

  4. Rufen Sie die folgende Verwaltungs-API auf, um Ihre Organisation mit dem MART-Endpunkt zu aktualisieren:
    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/your_org_name \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "your_org_name",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://HOST_ALIAS_DNS"
        } ]
      }
    }'

    Hier ein Beispiel: Achten Sie darauf, dem Host-Alias das Präfix „https://“ hinzuzufügen.

    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/my_organization \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "my_organization",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://foo-mart.example.com"
        } ]
      }
    }'

Überschreibungsdatei speichern

Speichern Sie die Überschreibungsdatei. Sie benötigen diese Datei für zukünftige Upgrades, Patches oder andere Änderungen an der Clusterkonfiguration.