Konfiguration auf den Cluster anwenden
So installieren Sie Apigee Hybrid in Ihrem Cluster:
- Sie müssen sich im Verzeichnis
hybrid-base-directory/hybrid-files
befinden. - 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. - 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.
- 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
- Wenn keine Fehler auftreten, können Sie die Apigee-spezifischen Laufzeitkomponenten auf den Cluster anwenden:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- 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
- 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.
- Laden Sie den Dienstkontoschlüssel auf Ihr System herunter. Folgen Sie der Anleitung unter Dienstkontoschlüssel erstellen in der GCP-Dokumentation.
- Verschieben Sie den heruntergeladenen Dienstkontoschlüssel in Ihr Dienstkontoverzeichnis: /hybrid-base-directory
/hybrid-files/service-accounts
. - 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.
- 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"]}'
- 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-IP-Adresse Ihrer Organisation hinzufügen
Sie müssen die IP-Adresse 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 die MART-IP-Adresse hinzu:
- 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. - Suchen Sie nach dem Dienstkontoschlüssel mit der Rolle, die Sie zuvor im Abschnitt Apigee Organization Admin heruntergeladen haben, im Abschnitt Synchronisatorzugriff aktivieren.
- 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.
- 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 Domainnamen 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.