Crea un APIMExtensionPolicy

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:

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:

  1. Crea un nuovo file denominato global-ext-lb1-apim-policy.yaml nello spazio dei nomi apim.
  2. 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 :

    Vai ad Ambienti

  3. 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.

  4. 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 di RUNNING:

    NAME                         STATE      ERRORMESSAGE
    global-ext-lb1-apim-policy   RUNNING  
  5. 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, dove GATEWAY_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 in HTTPRoute del gateway.
  6. 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