Questa pagina si applica ad Apigee, ma non ad Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Questa pagina descrive i passaggi necessari per installare e configurare l'operatore APIM di Apigee per Kubernetes (anteprima). Per scoprire di più sui vantaggi dell'utilizzo di APIM Operator, consulta la Panoramica di Apigee APIM Operator per Kubernetes.
Prima di iniziare
Prima di iniziare a installare APIM Operator, assicurati di disporre dei ruoli e delle autorizzazioni necessari per completare i passaggi e di aver completato le attività preliminari descritte in APIM Operator: prima di iniziare.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per installare APIM Operator, chiedi all'amministratore di concederti i seguenti ruoli IAM nell'organizzazione:
-
Crea e gestisci il cluster GKE:
Amministratore contenitori (
roles/container.admin
) -
Crea e gestisci gli account di servizio:
Amministratore account di servizio (
roles/iam.serviceAccountAdmin
) -
Crea e gestisci le estensioni di servizio:
Service Extensions Admin (
roles/networkservices.serviceExtensionsAdmin
) -
Crea e gestisci i gruppi di endpoint di rete (NEG):
Amministratore delle istanze Compute (
roles/compute.instanceAdmin
) -
Crea e gestisci i servizi di backend:
Amministratore bilanciatore del carico Compute (
roles/compute.loadBalancerAdmin
) -
Crea e gestisci le risorse Apigee:
Apigee Admin (
roles/apigee.admin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Installa e configura l'operatore APIM
Le sezioni seguenti descrivono i passaggi necessari per installare e configurare l'operatore APIM:
- Imposta le variabili di ambiente.
- Abilita le API richieste.
- Recupero e configurazione delle credenziali.
- Installa l'operatore APIM.
- Crea un'identità del workload.
- (Facoltativo) Crea un ambiente Apigee.
- Verifica la configurazione di GKE Gateway.
Imposta le variabili di ambiente
Nel Google Cloud progetto che contiene l'istanza Apigee, utilizza il seguente comando per impostare le variabili di ambiente:
export PROJECT_ID=PROJECT_ID
export CLUSTER_NAME=CLUSTER_NAME
export REGION=REGION
export APIGEE_ORG=APIGEE_ORG
Dove:
PROJECT_ID
è l'ID del progetto con l'istanza Apigee.CLUSTER_NAME
è il nome del tuo cluster GKE.REGION
è la regione del cluster GKE.APIGEE_ORG
è impostato sullo stesso valore diPROJECT_ID
.
Per verificare che le variabili di ambiente siano impostate correttamente, esegui il seguente comando:
echo $PROJECT_ID $CLUSTER_NAME $REGION $APIGEE_ORG
Abilita le API richieste
APIM Operator richiede l'accesso alle seguenti API:
Nome | Titolo |
---|---|
apigee.googleapis.com |
API Apigee |
compute.googleapis.com |
API Compute Engine |
networkservices.googleapis.com |
API Network Services |
container.googleapis.com |
API Google Kubernetes Engine |
Usa il seguente comando per verificare che le API richieste siano abilitate:
gcloud services list --project=${PROJECT_ID}
Se le API richieste non sono elencate nell'output del comando, abilitale:
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}
Recupera e configura le credenziali
Recupera le credenziali del cluster e crea un account di servizio per connetterti ai servizi Google Cloud :
Recupera le credenziali del cluster utilizzando il seguente comando:
gcloud container clusters get-credentials ${CLUSTER_NAME} --location=${REGION} --project=${PROJECT_ID}
Queste credenziali vengono utilizzate per comunicare con il cluster GKE creato nei passaggi precedenti.
- Configura le credenziali dell'account di servizio per connetterti ai Google Cloud servizi:
gcloud iam service-accounts create apigee-apim-gsa
- Concedi i ruoli e le autorizzazioni richiesti all'account di servizio che hai creato utilizzando i seguenti comandi:
- Ruolo Amministratore Apigee: obbligatorio per creare e gestire le risorse Apigee.
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/apigee.admin"
- Ruolo Amministratore delle estensioni di servizio: necessario per creare e gestire le estensioni di servizio.
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/networkservices.serviceExtensionsAdmin"
- Ruolo di amministratore di rete: necessario per gestire l'accesso ad Apigee utilizzando le estensioni di servizio.
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:apigee-apim-gsa@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/compute.networkAdmin"
- Ruolo Amministratore del bilanciatore del carico: obbligatorio per gestire l'accesso tra i gruppi di endpoint di rete (NEG)
e i servizi di backend.
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"
- Ruolo Amministratore Apigee: obbligatorio per creare e gestire le risorse Apigee.
Installa le definizioni di risorse personalizzate (CRD) e l'operatore APIM
Installa le definizioni di risorse personalizzate (CRD) di Kubernetes e l'operatore APIM:
- Crea uno spazio dei nomi per l'operatore APIM:
kubectl create ns apim
- Installa le definizioni di risorse personalizzate (CRD) dell'operatore APIM:
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
- Installa l'operatore APIM:
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
Utilizza il seguente comando per verificare che l'installazione sia stata completata correttamente:
helm list -n apim
L'output dovrebbe essere simile al seguente:
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
L'installazione di helm
crea un account di servizio Kubernetes (KSA) obbligatorio denominato
apim-ksa
nello spazio dei nomi apim
. Il file KSA contiene l'annotazione necessaria per essere associato all'identità del carico di lavoro creata nel passaggio successivo.
Per verificare che la KSA sia stata creata con l'annotazione richiesta, esegui il seguente comando:
kubectl describe serviceaccounts apim-ksa -n apim
L'output dovrebbe essere simile al seguente:
Name: apim-ksa Namespace: apim ... Annotations: iam.gke.io/gcp-service-account: apigee-apim-gsa@my-project-id.iam.gserviceaccount.com
Creare un'identità del workload
Per creare l'identità di carico di lavoro utilizzata dall'operatore APIM per accedere alle risorse Apigee e Service Networking richieste, associa il token di accesso a chiave segreta all' Google account di servizio che hai creato
in Recupero e configurazione delle credenziali e assegna il ruolo workloadIdentityUser
:
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]"
(Facoltativo) Crea un ambiente Apigee
Questo passaggio è facoltativo. Se non vuoi creare un ambiente Apigee, l'operatore APIM lo farà al posto tuo.
Il nome del nuovo ambiente avrà il prefisso apim-enabled-dep-env
.
Crea un ambiente Apigee:
- Imposta
TOKEN
necessario per il comandocurl
:export TOKEN=$(gcloud auth print-access-token)
- Crea l'ambiente utilizzando uno dei seguenti comandi:
- Per le organizzazioni con abbonamento 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" } }'
dove
ENV_NAME
è il nome dell'ambiente da creare. - Per le organizzazioni con abbonamento 2024 e con pagamento a consumo:
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" } ] } }'
Dove:
ENV_NAME
è il nome dell'ambiente da creare.ENV_TYPE
è il tipo di ambiente da creare. Ad esempio,INTERMEDIATE
oCOMPREHENSIVE
.
- Per le organizzazioni con abbonamento 2021:
Risoluzione dei problemi
Se si verificano problemi durante l'installazione di APIM Operator, consulta la sezione Risolvere i problemi di APIM Operator per trovare le soluzioni agli errori comuni.