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.
Beispiel:
export ORG_ADMIN_ACCOUNT="hybrid-example-apigee-org-admin.json"
- Führen Sie die folgenden Befehle aus, um ein Token abzurufen:
export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNTexport 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-filesbefinden. - Prüfen Sie mit dem folgenden Befehl, ob
kubectlauf 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
- Nur für AWS in GKE, EKS und GKE on prem-Plattformen überprüfen Sie, ob die Variable
KUBECONFIGeingestellt ist mit dem folgenden Befehl.echo $KUBECONFIG
- Führen Sie eine Initialisierung als Probelauf aus. Führen Sie den Befehl
initmit dem Flag--dry-runaus. Bei einem Probelauf können Sie prüfen, ob Fehler vorliegen, bevor Änderungen am Cluster vorgenommen werden.In Hybrid-Version 1.4.4 hängt die Syntax des Flags
--dry-runvon der Version vonkubectlab, die Sie ausführen. Prüfen Sie die Version vonkubectlmit 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
initso aus:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
Mit dem Befehl
initwerden 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.yamlkubectl get pods -n apigee-systemkubectl get pods -n istio-systemWenn 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
applymit dem Flag--dry-runaus.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.