Übersicht
In diesem Schritt wird erläutert, wie Sie die Google Cloud-Dienstkonten erstellen, die für das Funktionieren von Apigee Hybrid erforderlich sind, und ihnen die entsprechenden IAM-Rollen zuweisen.
In diesem Verfahren werden die folgenden zwei Umgebungsvariablen verwendet, die in Schritt 2: Apigee Helm-Diagramme herunterladen definiert sind. Diese Variablen sind optional. Wenn Sie sie nicht definiert haben, ersetzen Sie für jede Variable in den Codebeispielen den entsprechenden Verzeichnispfad.
$APIGEE_HELM_CHARTS_HOME
: Das Verzeichnis, in das Sie die Apigee-Helm-Diagramme heruntergeladen haben, die in Schritt 2: Apigee-Helm-Diagramme herunterladen definiert sind.$PROJECT_ID
: Ihre Google Cloud-Projekt-ID, die in Teil 1: Projekt- und Organisationseinrichtung – Schritt 1: APIs aktivieren definiert ist.
Produktions- und Nicht-Produktionsumgebungen
Dieser Leitfaden bezieht sich auf Produktions- („Prod“) und Nicht-Produktionsinstallationen („Non-prod“). Eine Produktionsinstallation ist auf höhere Nutzungskapazität, Speicher und Skalierbarkeit ausgelegt. Eine Nicht-Produktionsinstallation verwendet weniger Ressourcen und dient hauptsächlich zu Lern- und Demonstrationszwecken.
Wenn Sie Dienstkonten für Apigee Hybrid erstellen und konfigurieren, müssen Sie die Art der Installation berücksichtigen, auf die Sie abzielen.
Für Produktionsinstallationen empfehlen wir, für jede Apigee Hybrid-Komponente ein separates Dienstkonto zu erstellen. Beispielsweise erhalten Laufzeit, MART, Messwerte, UDCA usw. jeweils ein eigenes Dienstkonto.
Für Nicht-Produktionsinstallationen können Sie ein einzelnes Dienstkonto erstellen, das für alle Komponenten gilt.
Weitere Informationen zu den von Apigee verwendeten Dienstkonten und den ihnen zugewiesenen Rollen finden Sie unter Dienstkonten und Rollen, die von Hybrid-Komponenten verwendet werden.
Dienstkonten authentifizieren
Apigee Hybrid unterstützt drei Methoden zur Authentifizierung von Google-Dienstkonten:
Workload Identity auf AKS, EKS oder GKE
Für Apigee Hybrid-Installationen in GKE bietet Google Cloud eine Option namens Workload Identity zur Authentifizierung von Hybrid-Laufzeitkomponenten. Bei dieser Option werden keine heruntergeladene Zertifikatsdateien verwendet, um die Dienstkonten zu authentifizieren. Stattdessen werden die in diesem Schritt erstellten Google Cloud-Dienstkonten den Kubernetes-Dienstkonten im Kubernetes-Cluster zugeordnet. Weitere Informationen finden Sie unter Workload Identity in GKE aktivieren oder Identitätsföderation von Arbeitslasten auf AKS und EKS aktivieren.
Dienstkonten erstellen
Apigee Hybrid verwendet die folgenden Dienstkonten:
Prod
Dienstkonto | IAM-Rollen | Apigee Helm-Diagramm |
---|---|---|
apigee-cassandra |
Storage-Objekt-Administrator | apigee-datastore |
apigee-logger |
Log-Autor | apigee-telemetry |
apigee-mart |
Apigee Connect Agent | apigee-org |
apigee-metrics |
Monitoring-Messwert-Autor | apigee-telemetry |
apigee-runtime |
Keine Rolle erforderlich | apigee-env |
apigee-synchronizer |
Apigee Synchronizer Manager | apigee-env |
apigee-udca |
Apigee Analytics-Agent | apigee-org apigee-env |
apigee-watcher |
Apigee-Laufzeit-Agent | apigee-org |
Non-prod
Dienstkonto | IAM-Rollen | Apigee Helm-Diagramm |
---|---|---|
apigee-non-prod |
Storage-Objekt-Administrator Log-Autor Apigee Connect-Agent Monitoring-Messwert-Autor Apigee Synchronizer-Manager Apigee Analytics Agent Apigee-Laufzeit-Agent |
apigee-datastore apigee-telemetry apigee-org apigee-env |
Das create-service-account
-Tool
Apigee stellt das Tool create-service-account
im Verzeichnis apigee-operator/etc/tools
bereit:
$APIGEE_HELM_CHARTS_HOME/ └── apigee-operator/ └── etc/ └── tools/ └── create-service-account
Dieses Tool erstellt die Dienstkonten, weist jedem Konto die IAM-Rollen zu und lädt die Zertifikatsdateien im JSON-Format für jedes Konto herunter.
Prüfen Sie, ob Sie create-service-account
ausführen können. Wenn Sie gerade die Diagramme heruntergeladen haben, befindet sich die Datei create-service-account
möglicherweise nicht in einem ausführbaren Modus. Führen Sie im Verzeichnis APIGEE_HELM_CHARTS_HOME den folgenden Befehl aus:
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account --help
Wenn in der Ausgabe permission denied
angegeben ist, müssen Sie die Datei ausführbar machen, z. B. mit chmod
in Linux, MacOS oder UNIX oder im Windows Explorer oder mit dem Befehl icacls
in Windows. Beispiel:
chmod +x $APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account
Dienstkonten erstellen
Da Helm keine Referenzdateien außerhalb des Diagrammverzeichnisses unterstützt, erstellen Sie jede Dienstkontozertifikatdatei im Diagrammverzeichnis für die entsprechende Hybridkomponente.
Wählen Sie für die nächsten Schritte aus, ob Sie eine Produktions- oder eine Nicht-Produktionsinstallation konfigurieren.
Prod
- Die Umgebungsvariable
PROJECT_ID
muss definiert sein.echo $PROJECT_ID
Das Feld
create-service-account tool uses the value of the
. Ist sie nicht definiert, definieren Sie sie entweder mit Ihrer ID Ihrer Google Cloud-Projekt-ID oder fügen Sie denPROJECT_ID
environment variablecreate-service-account
-Befehlen das Flag--project-id PROJECT_ID
hinzu. -
Erstellen Sie die Dienstkonten mit den folgenden Befehlen, wobei
$APIGEE_HELM_CHARTS_HOME
der Pfad ist, in den Sie die Apigee Helm-Diagramme heruntergeladen haben. Möglicherweise werden Sie aufgefordert, jedes Dienstkonto zu erstellen. Antworten Sie mity
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-cassandra \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-logger \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-mart \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-metrics \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-telemetry
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-runtime \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-synchronizer \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-udca \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-env
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-udca \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --profile apigee-watcher \ --env prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-org
- Kopieren Sie die JSON-Datei
apigee-udca
in das Diagrammverzeichnisapigee-env
. Sie ist sowohl für Vorgänge auf Organisationsebene als auch auf Umgebungsebene erforderlich.cp $APIGEE_HELM_CHARTS_HOME/apigee-org/$PROJECT_ID-apigee-udca.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
- Prüfen Sie, ob die Dienstkontodateien in den richtigen Verzeichnissen erstellt wurden. Prüfen Sie dazu den Inhalt der Verzeichnisse der einzelnen Diagramme. Die Ausgabe sollte so aussehen:
ls ./apigee-datastore
Chart.yaml PROJECT_ID-apigee-cassandra.json templates values.yamlls ./apigee-telemetry
Chart.yaml PROJECT_ID-apigee-logger.json PROJECT_ID-apigee-metrics.json templates values.yamlls ./apigee-org
Chart.yaml PROJECT_ID-apigee-udca.json templates PROJECT_ID-apigee-mart.json PROJECT_ID-apigee-watcher.json values.yamlls ./apigee-env
Chart.yaml PROJECT_ID-apigee-runtime.json PROJECT_ID-apigee-synchronizer.json my_project_id-apigee-udca.json templates values.yaml
Non-prod
- Die Umgebungsvariable
PROJECT_ID
muss definiert sein.echo $PROJECT_ID
Das Feld
create-service-account tool uses the value of the
. Ist sie nicht definiert, definieren Sie sie entweder mit Ihrer ID Ihrer Google Cloud-Projekt-ID oder fügen Sie denPROJECT_ID
environment variablecreate-service-account
-Befehlen das Flag--project-id PROJECT_ID
hinzu. -
Erstellen Sie das Dienstkonto mit dem folgenden Befehl, wobei
$APIGEE_HELM_CHARTS_HOME
der Pfad ist, unter den Sie die Apigee Helm-Diagramme heruntergeladen haben. Sie werden möglicherweise aufgefordert, jedes Dienstkonto zu erstellen. Antworten Sie mity
.$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/create-service-account \ --env non-prod \ --dir $APIGEE_HELM_CHARTS_HOME/apigee-datastore
- Prüfen Sie den Namen der Dienstkontodatei, die im Verzeichnis
apigee-datastore
erstellt wurde:ls $APIGEE_HELM_CHARTS_HOME/apigee-datastore
Chart.yaml PROJECT_ID-apigee-non-prod.json templates values.yaml
- Kopieren Sie die Dienstkontodatei in die anderen Diagrammverzeichnisse, die darauf verweisen müssen:
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-org/
cp $APIGEE_HELM_CHARTS_HOME/apigee-datastore/SA_FILE_NAME.json $APIGEE_HELM_CHARTS_HOME/apigee-env/
Weitere Informationen zu Dienstkonten und zum create-service-account
-Tool finden Sie unter:
Sie haben jetzt Dienstkonten erstellt und die Rollen zugewiesen, die die Apigee Hybrid-Komponenten benötigen. Im nächsten Schritt erstellen Sie die für das Hybrid-Ingress-Gateway erforderlichen TLS-Zertifikate.