Diese Seite gilt für Apigee, aber nicht für Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Auf dieser Seite werden die Schritte beschrieben, die zum Installieren und Konfigurieren des Apigee APIM-Operators für Kubernetes (Vorabversion) erforderlich sind. Weitere Informationen zu den Vorteilen des APIM-Operators finden Sie unter Apigee APIM Operator for Kubernetes overview (Apigee APIM Operator für Kubernetes – Übersicht).
Hinweise
Bevor Sie mit der Installation des APIM-Betreibers beginnen, prüfen Sie, ob Sie die erforderlichen Rollen und Berechtigungen haben, um die Schritte auszuführen, und ob Sie die unter APIM-Betreiber: Bevor Sie beginnen beschriebenen Voraussetzungen erfüllt haben.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für die Organisation zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Installieren des APIM-Betreibers benötigen:
-
GKE-Cluster erstellen und verwalten:
Container Admin (
roles/container.admin
) -
Dienstkonten erstellen und verwalten:
Service Account Admin (
roles/iam.serviceAccountAdmin
) -
Diensterweiterungen erstellen und verwalten:
Service Extensions Administrator (
roles/networkservices.serviceExtensionsAdmin
) -
Netzwerk-Endpunktgruppen (NEGs) erstellen und verwalten:
Compute-Instanzadministrator (
roles/compute.instanceAdmin
) -
Backend-Dienste erstellen und verwalten:
Administrator für Compute-Load-Balancer (
roles/compute.loadBalancerAdmin
) -
Apigee-Ressourcen erstellen und verwalten:
Apigee Admin (
roles/apigee.admin
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
APIM-Operator installieren und konfigurieren
In den folgenden Abschnitten werden die Schritte zur Installation und Konfiguration des APIM-Operators beschrieben:
- Umgebungsvariablen festlegen
- Aktivieren Sie die erforderlichen APIs.
- Anmeldedaten abrufen und konfigurieren
- APIM-Operator installieren
- Erstellen Sie eine Arbeitslastidentität.
- Erstellen Sie eine Apigee-Umgebung.
- Prüfen, ob GKE Gateway eingerichtet ist
Umgebungsvariablen festlegen
Verwenden Sie im Google Cloud -Projekt, das Ihre Apigee-Instanz enthält, den folgenden Befehl, um Umgebungsvariablen festzulegen:
export PROJECT_ID=PROJECT_ID
export CLUSTER_NAME=CLUSTER_NAME
export REGION=REGION
export APIGEE_ORG=APIGEE_ORG
Wobei:
PROJECT_ID
ist die ID des Projekts mit Ihrer Apigee-Instanz.CLUSTER_NAME
ist der Name Ihres GKE-Clusters.REGION
ist die Region Ihres GKE-Clusters.APIGEE_ORG
ist auf denselben Wert wiePROJECT_ID
festgelegt.
Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Umgebungsvariablen richtig festgelegt sind:
echo $PROJECT_ID $CLUSTER_NAME $REGION $APIGEE_ORG
Erforderliche APIs aktivieren
Für APIM Operator ist Zugriff auf die folgenden APIs erforderlich:
Name | Titel |
---|---|
apigee.googleapis.com |
Apigee API |
compute.googleapis.com |
Compute Engine API |
networkservices.googleapis.com |
Network Services API |
container.googleapis.com |
Google Kubernetes Engine API |
Prüfen Sie mit dem folgenden Befehl, ob die erforderlichen APIs aktiviert sind:
gcloud services list --project=${PROJECT_ID}
Wenn die erforderlichen APIs in der Befehlsausgabe nicht aufgeführt sind, aktivieren Sie sie:
gcloud services enable apigee.googleapis.com --project=${PROJECT_ID}
gcloud services enable compute.googleapis.com --project=${PROJECT_ID}
gcloud services enable networkservices.googleapis.com --project=${PROJECT_ID}
gcloud services enable container.googleapis.com --project=${PROJECT_ID}
Anmeldedaten abrufen und konfigurieren
Rufen Sie Ihre Clusteranmeldedaten ab und erstellen Sie ein Dienstkonto, um eine Verbindung zu Google Cloud -Diensten herzustellen:
Rufen Sie mit dem folgenden Befehl die Cluster-Anmeldedaten ab:
gcloud container clusters get-credentials ${CLUSTER_NAME} --location=${REGION} --project=${PROJECT_ID}
Diese Anmeldedaten werden für die Kommunikation mit dem GKE-Cluster verwendet, der in den vorbereitenden Schritten erstellt wurde.
- Richten Sie Anmeldedaten für Dienstkonten ein, um eine Verbindung zu Google Cloud -Diensten herzustellen:
gcloud iam service-accounts create apigee-apim-gsa
- Weisen Sie dem von Ihnen erstellten Dienstkonto mit den folgenden Befehlen die erforderlichen Rollen und Berechtigungen zu:
- Apigee Admin-Rolle: Erforderlich zum Erstellen und Verwalten von Apigee-Ressourcen.
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/apigee.admin"
- Administratorrolle für Diensterweiterungen: Erforderlich zum Erstellen und Verwalten von Diensterweiterungen.
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/networkservices.serviceExtensionsAdmin"
- Netzwerkadministratorrolle: Erforderlich, um den Zugriff auf Apigee mithilfe von Diensterweiterungen zu verwalten.
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/compute.networkAdmin"
- Administratorrolle für Load Balancer: Erforderlich, um den Zugriff zwischen Netzwerk-Endpunktgruppen (NEGs) und Backend-Diensten zu verwalten.
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/compute.loadBalancerAdmin"
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/iam.workloadIdentityUser"
- Apigee Admin-Rolle: Erforderlich zum Erstellen und Verwalten von Apigee-Ressourcen.
Workload Identity erstellen
Bei der helm
-Installation des APIM-Operators im nächsten Schritt wird ein erforderliches Kubernetes-Dienstkonto (KSA) mit dem Namen apim-ksa
im Namespace apim
erstellt. Beim Erstellen enthält das KSA die Anmerkung, die mit einer Arbeitslastidentität verknüpft werden muss, die vom APIM-Betreiber zum Zugriff auf die erforderlichen Apigee- und Service Networking-Ressourcen verwendet wird.
Verwenden Sie den folgenden Befehl, um die Workload-Identität zu erstellen:
gcloud iam service-accounts add-iam-policy-binding apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com --role roles/iam.workloadIdentityUser --member "serviceAccount:${PROJECT_ID}.svc.id.goog[apim/apim-ksa]"
Mit diesem Befehl wird das KSA an das Google Dienstkonto gebunden, das Sie unter Anmeldedaten abrufen und konfigurieren erstellt haben, und die Rolle workloadIdentityUser
zugewiesen.
Es kann einige Minuten dauern, bis die Änderungen an der Arbeitslastidentität im gesamten System übernommen wurden.
Verwenden Sie die folgenden Befehle, um zu prüfen, ob die Workload-Identität erstellt wurde:
gcloud config set project $PROJECT_ID
kubectl run --rm -it --image google/cloud-sdk:slim \ --namespace apim workload-identity-test\ -- gcloud auth list
Die Ausgabe sollte in etwa so aussehen:
Credentialed Accounts ACTIVE ACCOUNT * GSA@PROJECT_ID.iam.gserviceaccount.com
Benutzerdefinierte Ressourcendefinitionen (CRDs) und APIM-Operator installieren
Installieren Sie die benutzerdefinierten Ressourcendefinitionen (CRDs) von Kubernetes und den APIM-Operator:
- Erstellen Sie einen Namespace für den APIM-Betreiber:
kubectl create ns apim
- Installieren Sie die benutzerdefinierten Ressourcendefinitionen (CRDs) des APIM-Betreibers:
helm install apigee-apim-crds oci://us-docker.pkg.dev/apigee-release/apigee-k8s-tooling-helm-charts/apigee-apim-operator-crds --version 0.6.0 -n apim --atomic
- Installieren Sie den APIM-Operator:
helm install apigee-apim-operator oci://us-docker.pkg.dev/apigee-release/apigee-k8s-tooling-helm-charts/apigee-apim-operator-helm --version 0.6.0 --set project_id=${PROJECT_ID} --set serviceAccount=apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com --set apigeeOrg=${PROJECT_ID} --set generateEnv=TRUE --set apigeeMgmtUrl="https://apigee.googleapis.com" -n apim --atomic
- Prüfen Sie, ob die Installation erfolgreich abgeschlossen wurde:
helm list -n apim
Die Ausgabe sollte in etwa so aussehen:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION apigee-apim-crds apim 1 2025-02-01 00:17:03.399810627 +0000 UTC deployed apigee-apim-operator-crds-0.6.0 0.6.0 apigee-apim-operator apim 1 2025-02-01 00:15:00.362829981 +0000 UTC deployed apigee-apim-operator-helm-0.6.0 0.6.0
- Prüfen Sie, ob die KSA mit der erforderlichen Anmerkung erstellt wurde:
kubectl describe serviceaccounts apim-ksa -n apim
Die Ausgabe sollte in etwa so aussehen:
Name: apim-ksa Namespace: apim ... Annotations: iam.gke.io/gcp-service-account: apigee-apim-gsa@my-project-id.iam.gserviceaccount.com
- Prüfen Sie, ob der APIM-Operator in den Pods des Clusters ausgeführt wird:
kubectl get pods -n apim
Die Ausgabe sollte in etwa so aussehen:
NAME READY STATUS RESTARTS AGE apigee-apim-operator-8559d4994b-h55fl 1/1 Running 0 8m34s
Wenn
STATUS
nichtRunning
ist oderREADY
nicht1/1
anzeigt, lesen Sie den Hilfeartikel Fehlerbehebung für den APIM-Betreiber, um die Installation zu beheben.
Apigee-Umgebung erstellen
Wenn Sie den APIM-Operator im vorherigen Schritt mit generateEnv=TRUE
installiert haben, erstellt der Operator eine neue Apigee-Umgebung, wenn die APIM-Erweiterungsrichtlinie erstellt und angewendet wird. Der Name der neuen Umgebung beginnt mit dem Präfix apim-enabled-dep-env
.
Wenn Sie den APIM-Betriebsmanager mit generateEnv=FALSE
installiert haben, müssen Sie eine neue Apigee-Umgebung erstellen:
- Legen Sie die für den Befehl
curl
erforderlicheTOKEN
fest:export TOKEN=$(gcloud auth print-access-token)
- Erstellen Sie die Umgebung mit einem der folgenden Befehle:
- Für Organisationen mit Subscription 2021:
curl -X POST "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/environments" -H \ "Authorization: Bearer $TOKEN" -H "content-type:application/json" \ -d '{ "name": "ENV_NAME", "properties": { "apigee-service-extension-enabled":"true" } }'
Dabei ist
ENV_NAME
der Name der zu erstellenden Umgebung. - Für Abo 2024- und „Pay as you go“-Organisationen:
curl -i -X POST -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/environments" -H "Content-Type:application/json" -d '{ "name": ENV_NAME, "displayName": ENV_NAME, "state": "ACTIVE", "deploymentType": "PROXY", "apiProxyType": "PROGRAMMABLE", "type" : ENV_TYPE, "properties": { "property": [ { "name": "apigee-service-extension-enabled", "value": "true" } ] } }'
Wobei:
ENV_NAME
ist der Name der zu erstellenden Umgebung.ENV_TYPE
ist der Typ der zu erstellenden Umgebung. Beispiel:INTERMEDIATE
oderCOMPREHENSIVE
.
- Für Organisationen mit Subscription 2021:
- Hängen Sie die Umgebung an Ihre Apigee-Instanz an:
curl -i -X POST -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/instances/INSTANCE_NAME/attachments" \ -H "Content-Type:application/json" -d '{"environment": "ENV_NAME"}' }'
Wobei:
INSTANCE_NAME
ist der Name Ihrer Apigee-Instanz.ENV_NAME
ist der Name der Umgebung, die Sie im vorherigen Schritt erstellt haben.
Fehlerbehebung
Wenn bei der Installation des APIM-Betreibers Probleme auftreten, finden Sie unter Fehlerbehebung beim APIM-Betreiber Lösungen für häufige Fehler.