Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Questa pagina descrive come creare un APIMExtensionPolicy
per creare l'estensione del traffico richiesta
sul gateway Google Kubernetes Engine (GKE) in esecuzione nel cluster.
Prima di iniziare
Prima di iniziare questa attività, completa i seguenti passaggi:
- Verifica che nel cluster GKE sia configurata un'Workload Identity. Per i passaggi richiesti, consulta Creare un'identità del workload.
- Verifica che il cluster abbia un gateway GKE configurato e funzionante. Per ulteriori dettagli, consulta Deployment dei gateway.
- Installa l'operatore Apigee per Kubernetes. Per istruzioni sull'installazione, consulta Installare l'operatore Apigee per Kubernetes.
Ruoli obbligatori
Se assegni i ruoli richiesti al account di servizio come descritto in Installare l'operatore Apigee per Kubernetes, non sono necessari ulteriori ruoli o autorizzazioni IAM per completare queste attività.
Puoi scegliere di autorizzare le azioni sulle risorse nel cluster Google Kubernetes Engine utilizzando il meccanismo di controllo dell'accesso basato sui ruoli (RBAC) integrato in Kubernetes. Per maggiori informazioni, vedi Autorizzare le azioni nei cluster utilizzando il controllo degli accessi basato sui ruoli.
Crea il APIMExtensionPolicy
In questo passaggio, crea APIMExtensionPolicy
e applicalo al gateway GKE in esecuzione nel cluster.
Queste norme regolano tutto il traffico che passa attraverso il gateway e il relativo HTTPRoutes
,
funzionando in modo simile a un flowhook a livello di ambiente in Apigee oggi.
Crea la policy di estensione APIM:
- Crea un nuovo file denominato
global-ext-lb1-apim-policy.yaml
nello spazio dei nomiapim
. - Copia i seguenti contenuti nel nuovo file:
# global-ext-lb1-apim-policy.yaml apiVersion: apim.googleapis.com/v1 kind: APIMExtensionPolicy metadata: name: global-ext-lb1-apim-policy namespace: apim spec: apigeeEnv: ENV_NAME # optional location: global failOpen: false timeout: 1000ms defaultSecurityEnabled: true targetRef: # identifies the Gateway where the extension should be applied name: global-ext-lb1 kind: Gateway namespace: default
Dove ENV_NAME è il nome dell'ambiente Apigee creato nel passaggio di installazione Crea un ambiente Apigee.
Puoi visualizzare tutti gli ambienti disponibili nella pagina Ambienti Apigee della console Google Cloud :
- Applica la norma:
kubectl -n apim apply -f global-ext-lb1-apim-policy.yaml
Una volta applicato il criterio, l'operatore Apigee per Kubernetes crea risorse di rete in background.
- Controlla lo stato del criterio di estensione APIM utilizzando il seguente comando:
kubectl -n apim get APIMExtensionPolicy
L'output dovrebbe essere simile al seguente, con un
State
diRUNNING
:NAME STATE ERRORMESSAGE global-ext-lb1-apim-policy RUNNING
- Utilizza il seguente comando per inviare una richiesta al gateway:
curl http://GATEWAY_IP_ADDRESS/get -H "Host: HOST_NAME"
Dove:
GATEWAY_IP_ADDRESS
è l'indirizzo IP del gateway. Puoi recuperare l'indirizzo IP del gateway utilizzando il seguente comando, doveGATEWAY_NAME
è il nome del gateway:kubectl get gateways.gateway.networking.k8s.io GATEWAY_NAME -o=jsonpath="{.status.addresses[0].value}"
HOST_NAME
è il nome host definito inHTTPRoute
del gateway.
- La richiesta dovrebbe non andare a buon fine perché la sicurezza predefinita è abilitata impostando
defaultSecurityEnabled: true
nella risorsa policy dell'estensione API. Dovresti visualizzare una risposta simile alla seguente:{"fault":{"faultstring":"Raising fault. Fault name : RF-insufficient-request-raise-fault","detail":{"errorcode":"steps.raisefault.RaiseFault"}}}
Ciò indica che il criterio di estensione Apigee è attivo e che l'applicazione della chiave API e la verifica del token di accesso sono attive.
Passaggi successivi
- Scopri come aggiungere policy al gateway GKE.
- Scopri come disinstallare l'operatore Apigee per Kubernetes.