Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
En esta página se describe cómo crear un APIMExtensionPolicy
para crear la extensión de tráfico necesaria en la pasarela de Google Kubernetes Engine (GKE) que se ejecuta en tu clúster.
Antes de empezar
Antes de empezar esta tarea, sigue estos pasos:
- Confirma que tu clúster de GKE tiene configurada una identidad de carga de trabajo. Consulta los pasos necesarios en Crear una identidad de carga de trabajo.
- Confirma que tu clúster tiene una GKE Gateway configurada y que funciona. Consulta más información sobre la implementación de pasarelas.
- Instala el operador de Apigee para Kubernetes. Consulta las instrucciones de instalación en Instalar el operador de Apigee para Kubernetes.
Roles obligatorios
Si asignas los roles necesarios a tu cuenta de servicio tal como se describe en Instalar el operador de Apigee para Kubernetes, no se necesitan roles ni permisos de gestión de identidades y accesos adicionales para completar estas tareas.
Puedes autorizar acciones en recursos de tu clúster de Google Kubernetes Engine mediante el mecanismo de control de acceso basado en roles (RBAC) integrado en Kubernetes. Para obtener más información, consulta Autorizar acciones en clústeres mediante el control de acceso basado en roles.
Crea el APIMExtensionPolicy
En este paso, crea el APIMExtensionPolicy
y aplícalo a la GKE Gateway que se ejecuta en tu clúster.
Esta política rige todo el tráfico que pasa por la pasarela y su HTTPRoutes
asociada, y funciona de forma similar a un flowhook a nivel de entorno en Apigee.
Crea la política de extensión de APIM:
- Crea un archivo llamado
global-ext-lb1-apim-policy.yaml
en el espacio de nombresapim
. - Copia el siguiente contenido en el archivo nuevo:
# 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
Donde ENV_NAME es el nombre del entorno de Apigee creado en el paso de instalación Crear un entorno de Apigee.
Puedes ver todos los entornos disponibles en la página Entornos de Apigee de la Google Cloud consola:
- Aplica la política:
kubectl -n apim apply -f global-ext-lb1-apim-policy.yaml
Una vez que se aplica la política, el operador de Apigee para Kubernetes crea recursos de red en segundo plano.
- Comprueba el estado de la política de extensión de APIM con el siguiente comando:
kubectl -n apim get APIMExtensionPolicy
La salida debería ser similar a la siguiente, con un
State
deRUNNING
:NAME STATE ERRORMESSAGE global-ext-lb1-apim-policy RUNNING
- Usa el siguiente comando para enviar una solicitud a la pasarela:
curl http://GATEWAY_IP_ADDRESS/get -H "Host: HOST_NAME"
Donde:
GATEWAY_IP_ADDRESS
es la dirección IP de la pasarela. Puedes obtener la dirección IP de la pasarela con el siguiente comando, dondeGATEWAY_NAME
es el nombre de la pasarela:kubectl get gateways.gateway.networking.k8s.io GATEWAY_NAME -o=jsonpath="{.status.addresses[0].value}"
HOST_NAME
es el nombre de host definido enHTTPRoute
de la pasarela.
- La solicitud debería fallar porque la seguridad predeterminada está habilitada al definir
defaultSecurityEnabled: true
en el recurso de política de extensión de la API. Deberías ver una respuesta similar a la siguiente:{"fault":{"faultstring":"Raising fault. Fault name : RF-insufficient-request-raise-fault","detail":{"errorcode":"steps.raisefault.RaiseFault"}}}
Esto indica que la política de extensión de Apigee está activa y que la aplicación de claves de API y la verificación de tokens de acceso también lo están.
Siguientes pasos
- Consulta cómo añadir políticas a la puerta de enlace de GKE.
- Consulta cómo desinstalar el operador de Apigee para Kubernetes.