Synchronizer-Zugriff aktivieren
So aktivieren Sie den Synchronizer-Zugriff:
- Erstellen Sie ein Google Cloud-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.
Mit den folgenden
gcloud
-Befehlen wird das Dienstkonto erstellt und ihm Apigee Organization Admin zugewiesen:- Erstellen Sie das Konto:
gcloud iam service-accounts create apigee-org-admin \ --display-name="apigee-org-admin"
Dabei ist apigee-org-admin der Name des Dienstkontos, das Sie erstellen. "
apigee-org-admin
" wird für diese Anleitung empfohlen. - Weisen Sie dem Dienstkonto die Rolle Apigee-Organisationsadministrator zu:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.admin"
Wobei:
- $PROJECT_ID ist der Name Ihres Google Cloud-Projekts, das Sie in Schritt 2: Google Cloud-Projekt erstellen erstellt haben.
- apigee-org-admin ist der Name des soeben erstellten Dienstkontos.
- roles/apigee.admin ist die Rolle roles/apigee.admin.
- Erstellen Sie das Konto:
- Laden Sie den Dienstkontoschlüssel auf Ihr System herunter. Mit dem folgenden Befehl laden Sie den Schlüssel in das
service-accounts/
-Verzeichnis herunter. Weitere Informationen finden Sie in der GCP-Dokumentation unter Dienstkontoschlüssel erstellen.- Sie müssen sich im Verzeichnis
/hybrid-base-directory/hybrid-files/
befinden. - Laden Sie den Schlüssel herunter:
gcloud iam service-accounts keys create ./service-accounts/$PROJECT_ID-apigee-org-admin.json \ --iam-account apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com
Die Ausgabe sollte in etwa so aussehen:
created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid- example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.iam.gserviceaccount.com] $
- Sie müssen sich im Verzeichnis
- Prüfen Sie den Pfad zum Dienstkontoschlüssel des Apigee-Organisationsadministrators mit dem folgenden Befehl:
ls service-accounts/*admin*
Das Ergebnis sollte in etwa so aussehen:
service-accounts/hybrid-example-apigee-org-admin.json
- Erstellen Sie die Umgebungsvariable ORG_ADMIN_ACCOUNT mit dem Namen der Schlüsseldatei.
Beispiele:
export ORG_ADMIN_ACCOUNT="hybrid-example-2-apigee-org-admin.json"
- Führen Sie die folgenden Befehle aus, um ein Token abzurufen:
export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
export TOKEN=$(gcloud auth application-default print-access-token)
- Rufen Sie die E-Mail-Adresse Ihres
apigee-synchronizer
-Dienstkontos mit dem folgenden Befehl ab:gcloud iam service-accounts list --filter "apigee-synchronizer"
Wenn es mit dem Muster
apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
übereinstimmt, können Sie dieses Muster im nächsten Schritt verwenden. - Rufen Sie die setSyncAuthorization API mit dem folgenden Befehl 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/$ORG_NAME:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com"'"]}'
Wobei:
$ORG_NAME
: der Name Ihrer Hybridorganisation.apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
: Die E-Mail-Adresse des Apigee-Synchronizer-Dienstkontos.
- Prüfen Sie, ob das Dienstkonto eingerichtet wurde. Rufen Sie mit dem folgenden Befehl die API auf, um eine Liste der Dienstkonten abzurufen:
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$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=" }
Konfiguration auf den Cluster anwenden
Führen Sie die folgenden Schritte aus, um Apigee Hybrid in Ihrem Cluster zu installieren:
- Achten Sie darauf, dass Sie sich im Verzeichnis
hybrid-base-directory/hybrid-files
befinden. - Prüfen Sie mit dem folgenden Befehl, ob
kubectl
auf den richtigen Kontext eingestellt ist. Der aktuelle Kontext sollte auf den Cluster eingestellt werden, für den Sie Apigee Hybrid bereitstellen.kubectl config get-contexts
- Prüfen Sie mit dem folgenden Befehl, ob die Variable
KUBECONFIG
festgelegt ist. Wenn nicht, finden Sie weitere Informationen unter Voraussetzungen.echo $KUBECONFIG
- Führen Sie eine Initialisierung als Probelauf aus. Führen Sie den Befehl
init
mit dem Flag--dry-run
aus. Bei einem Probelauf können Sie prüfen, ob Fehler vorliegen, bevor Änderungen am Cluster vorgenommen werden.In Hybrid-Version 1.3 hängt die Syntax des Flags
--dry-run
von der Version vonkubectl
ab, die Sie ausführen. Prüfen Sie die Version vonkubectl
mit dem folgenden Befehl:kubectl version
kubectl
-Version 1.17 und niedriger:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true
Ab
kubectl
-Version 1.18:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
- Wenn keine Fehler vorhanden sind, führen Sie den Befehl
init
so 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. - Mit den folgenden Befehlen können Sie den Bereitstellungsstatus prüfen:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
kubectl get pods -n apigee-system
kubectl get pods -n istio-system
Wenn die Pods bereit sind, fahren Sie mit dem nächsten Schritt fort.
- Führen Sie eine Installation als Probelauf aus. Führen Sie den Befehl
apply
mit dem Flag--dry-run
aus.kubectl
-Version 1.17 und niedriger:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
Ab
kubectl
-Version 1.18:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
- Wenn keine Fehler auftreten, können Sie die Apigee-spezifischen Laufzeitkomponenten mit dem folgenden Befehl auf den Cluster anwenden:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- Führen Sie folgenden Befehl aus, um den Status des Deployments zu überprüfen:
$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.
Apigee Connect aktivieren
Apigee Connect verwaltet die Kommunikation zwischen der Apigee-Verwaltungsebene und dem MART auf der Laufzeitebene. Weitere Informationen finden Sie unter Apigee Connect verwenden.
So aktivieren Sie Apigee Connect:
-
Rufen Sie in der Befehlszeile Ihre
gcloud
-Authentifizierungsdaten ab, wie im folgenden Beispiel gezeigt:TOKEN=$(gcloud auth print-access-token)
Um zu prüfen, ob Ihr Token ausgefüllt wurde, verwenden Sie
echo
wie im folgenden Beispiel:echo $TOKEN
Das Token sollte als codierter String angezeigt werden.
Weitere Informationen finden sich in der Übersicht über das gcloud-Befehlszeilentool.
- Prüfen Sie mit dem folgenden Befehl, ob Apigee Connect für Ihre Organisation aktiviert ist.
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
Dabei ist $ORG_NAME die ID Ihrer Organisation.
Wenn die Ausgabe Folgendes enthält:
"name" : "features.mart.connect.enabled", "value" : "true"
Apigee Connect ist aktiviert und Sie können den Rest dieses Abschnitts überspringen.
- Aktivieren Sie Apigee Connect mit folgendem Befehl:
curl -H "Authorization: Bearer $TOKEN" -X PUT \ -H "Content-Type: application/json" \ -d '{ "name" : "'"$ORG_NAME"'", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.connect.enabled", "value" : "true" } ] } }' \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
Wenn die Ausgabe die folgenden beiden Attribute enthält, wurde Apigee Connect erfolgreich aktiviert:
{ "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" }
Die Ausgabe sollte in etwa so aussehen:
{ "name": "hybrid-example-2", "createdAt": "1594409699772", "lastModifiedAt": "1594776283697", "environments": [ "example-env" ], "properties": { "property": [ { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "us-central1", "runtimeType": "HYBRID", "subscriptionType": "TRIAL" }