Diese Seite gilt für Apigee, aber nicht für Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Auf dieser Seite werden die Schritte zum Installieren und Konfigurieren des Apigee-Operators für Kubernetes beschrieben. Weitere Informationen zu den Vorteilen der Verwendung des Apigee-Operators für Kubernetes finden Sie unter Übersicht über den Apigee-Operator für Kubernetes.
Hinweis
Bevor Sie den Apigee-Operator für Kubernetes installieren, prüfen Sie, ob Sie die erforderlichen Rollen und Berechtigungen haben, um die Schritte auszuführen, und ob Sie die erforderlichen Aufgaben unter Apigee-Operator für Kubernetes: Vorbereitung abgeschlossen 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 Apigee-Operators für Kubernetes 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 Admin (
roles/networkservices.serviceExtensionsAdmin) -
Netzwerk-Endpunktgruppen (NEGs) erstellen und verwalten:
Compute Instance Admin (
roles/compute.instanceAdmin) -
Backend-Dienste erstellen und verwalten:
Compute Load Balancer Admin (
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.
Apigee-Operator für Kubernetes installieren und konfigurieren
In den folgenden Abschnitten werden die Schritte zum Installieren und Konfigurieren des Apigee-Operators für Kubernetes beschrieben:
- Umgebungsvariablen festlegen.
- Erforderliche APIs aktivieren.
- Anmeldedaten abrufen und konfigurieren.
- Workload Identity erstellen.
- Apigee-Operator für Kubernetes installieren.
- Apigee-Umgebung erstellen.
- GKE Gateway-Einrichtung prüfen.
Umgebungsvariablen festlegen
Legen Sie im Google Cloud Projekt mit Ihrer Apigee-Instanz mit dem folgenden Befehl Umgebungsvariablen fest:
export PROJECT_ID=PROJECT_IDexport CLUSTER_NAME=CLUSTER_NAMEexport REGION=REGIONexport APIGEE_ORG=APIGEE_ORG
Wobei:
PROJECT_IDist die ID des Projekts mit Ihrer Apigee-Instanz.CLUSTER_NAMEist der Name Ihres GKE-Cluster.REGIONist die Region Ihres GKE-Cluster.APIGEE_ORGhat denselben Wert wiePROJECT_ID.
Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Umgebungsvariablen richtig festgelegt wurden:
echo $PROJECT_ID $CLUSTER_NAME $REGION $APIGEE_ORG
Erforderliche APIs aktivieren
Für den Apigee-Operator für Kubernetes 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 |
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_IDgcloud services enable compute.googleapis.com --project=$PROJECT_IDgcloud services enable networkservices.googleapis.com --project=$PROJECT_IDgcloud 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 Clusteranmeldedaten ab:
gcloud container clusters get-credentials $CLUSTER_NAME --location=$REGION --project=$PROJECT_ID
Diese Anmeldedaten kommunizieren mit dem GKE-Cluster, der in den Schritten unter Voraussetzungen erstellt wurde.
- Richten Sie Anmeldedaten für das Dienstkonto ein, um eine Verbindung zu Google Cloud Diensten herzustellen:
gcloud iam service-accounts create apigee-apim-gsa
- Weisen Sie dem erstellten Dienstkonto mit den folgenden Befehlen die erforderlichen Rollen und Berechtigungen zu:
- Rolle „Apigee Admin“: 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"
- Rolle „Service Extensions Admin“: 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"
- Rolle „Network Admin“: Erforderlich zum Verwalten des Zugriffs auf Apigee mithilfe von Diensterweiterungen.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:apigee-apim-gsa@$PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/compute.networkAdmin"
- Rolle „Load Balancer Admin“: Erforderlich zum Verwalten des Zugriffs zwischen Netzwerk-Endpunktgruppen (NEGs)
und Backend-Diensten.
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"
- Rolle „Apigee Admin“: Erforderlich zum Erstellen und Verwalten von Apigee-Ressourcen.
Workload Identity erstellen
Bei der helm Installation des Apigee-Operators für Kubernetes im nächsten Schritt wird im Namespace apim ein erforderliches Kubernetes-Dienstkonto (Kubernetes Service Account, KSA) mit dem Namen
apim-ksa erstellt. Nach der Erstellung enthält das KSA die Annotation, die für die Zuordnung zu einer Workload Identity erforderlich ist,
die vom Apigee-Operator für Kubernetes verwendet wird, um auf erforderliche Apigee
und Service Networking-Ressourcen zuzugreifen.
Verwenden Sie den folgenden Befehl, um die Workload Identity 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 mit dem Google Dienstkonto verknüpft, das Sie
unter Anmeldedaten abrufen und konfigurieren erstellt haben, und die Rolle workloadIdentityUser wird zugewiesen.
Es kann einige Minuten, möglicherweise 7 Minuten oder länger dauern, bis die Änderungen an der Workload Identity im gesamten System übernommen wurden. Sie prüfen diese Identität in einem späteren Schritt, nachdem der Operator installiert wurde.
Benutzerdefinierte Ressourcendefinitionen (Custom Resource Definitions, CRDs) und Apigee-Operator für Kubernetes installieren
Installieren Sie die Kubernetes benutzerdefinierten Ressourcendefinitionen (Custom Resource Definitions, CRDs) und den Apigee-Operator für Kubernetes:
- Erstellen Sie einen Namespace für den Apigee-Operator für Kubernetes:
kubectl create ns apim
- Installieren Sie die CRDs des Apigee-Operators für Kubernetes:
helm install apigee-apim-crds -n apim \ oci://us-docker.pkg.dev/apigee-release/apigee-k8s-tooling-helm-charts/apigee-apim-operator-crds \ --version 1.1.1 \ --atomic
- Installieren Sie den Apigee-Operator für Kubernetes:
helm install apigee-apim-operator -n apim \ oci://us-docker.pkg.dev/apigee-release/apigee-k8s-tooling-helm-charts/apigee-apim-operator-helm \ --version 1.1.1 \ --set projectId=$PROJECT_ID \ --set serviceAccount=apigee-apim-gsa@$PROJECT_ID.iam.gserviceaccount.com \ --set apigeeOrg=$PROJECT_ID \ --set generateEnv=ENV_GENERATION_MODE \ --atomic
Ersetzen Sie
ENV_GENERATION_MODEdurchTRUE, wenn der Operator beim Installieren des Apigee-Operators für Kubernetes eine neue Apigee-Umgebung erstellen soll. Setzen SieENV_GENERATION_MODEaufFALSE, wenn Sie die Umgebung nach der Installation des Operators manuell erstellen möchten. Weitere Informationen finden Sie unter Apigee-Umgebung erstellen. - 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-1.1.1 1.1.1 apigee-apim-operator apim 1 2025-02-01 00:15:00.362829981 +0000 UTC deployed apigee-apim-operator-helm-1.1.1 1.1.1
- Prüfen Sie, ob das KSA mit der erforderlichen Annotation 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
STATUSnichtRunningist oderREADYnicht1/1anzeigt, finden Sie unter Fehlerbehebung beim Apigee-Operator für Kubernetes Informationen zur Fehlerbehebung bei der Installation. - Prüfen Sie mit den folgenden Befehlen, ob die Workload Identity richtig konfiguriert ist:
gcloud config set project $PROJECT_ID
kubectl run --rm -it --image google/cloud-sdk:slim \ --namespace apim workload-identity-test \ --overrides='{ "spec": { "serviceAccountName": "apim-ksa" } }' \ -- gcloud auth list
Die Ausgabe sollte in etwa so aussehen:
Credentialed Accounts ACTIVE ACCOUNT * GSA@$PROJECT_ID.iam.gserviceaccount.com
Apigee-Umgebung erstellen
Wenn Sie den Apigee-Operator für Kubernetes 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 hat das Präfix apim-enabled-dep-env.
Wenn Sie den Apigee-Operator für Kubernetes mit generateEnv=FALSE installiert haben, müssen Sie eine neue Apigee-Umgebung erstellen:
- Legen Sie das für den
curl-Befehl erforderlicheTOKENfest:export TOKEN=$(gcloud auth print-access-token)
- Erstellen Sie die Umgebung mit einem der folgenden Befehle:
- Für Abo-Organisationen (2021 und 2024):
curl -i -X POST "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/environments" -H \ "Authorization: Bearer $TOKEN" -H "Content-Type:application/json" \ -d '{ "name": "ENV_NAME", "displayName": "ENV_NAME", "state": "ACTIVE", "deploymentType": "PROXY", "apiProxyType": "PROGRAMMABLE", "properties": { "property": [ { "name": "apigee-service-extension-enabled", "value": "true" } ] } }'
Dabei ist
ENV_NAMEder Name der zu erstellenden Umgebung. - Für „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" : "COMPREHENSIVE", "properties": { "property": [ { "name": "apigee-service-extension-enabled", "value": "true" } ] } }'
Wobei:
ENV_NAMEist der Name der zu erstellenden Umgebung.
So prüfen Sie, ob die Umgebung erfolgreich erstellt wurde:
curl -i -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/environments"
- Für Abo-Organisationen (2021 und 2024):
- 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_NAMEist der Name Ihrer Apigee-Instanz.ENV_NAMEist der Name der Umgebung, die Sie im vorherigen Schritt erstellt haben.
So prüfen Sie den Status des Vorgangs zum Anhängen der Umgebung:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$APIGEE_ORG/operations/OPERATION_ID"
Dabei ist
OPERATION_IDdie ID des Vorgangs zum Anhängen der Umgebung.
Fehlerbehebung
Wenn beim Installieren des Apigee-Operators für Kubernetes Probleme auftreten, finden Sie unter Fehlerbehebung beim Apigee-Operator für Kubernetes Lösungen für häufige Fehler.
Nächste Schritte
Erstellen Sie eine Diensterweiterung für den Traffic mit APIMExtensionPolicy oder ApigeeBackendService:
APIMExtensionPolicyerstellenApigeeBackendServiceerstellen