Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d'
Apigee Edge.
Cette page explique comment créer un APIMExtensionPolicy
pour créer l'extension de trafic requise sur la passerelle Google Kubernetes Engine (GKE) exécutée dans votre cluster.
Avant de commencer
Avant de commencer cette tâche, effectuez les étapes suivantes :
- Vérifiez qu'Workload Identity est configurée pour votre cluster GKE. Pour connaître les étapes requises, consultez Créer une identité de charge de travail.
- Vérifiez qu'une passerelle GKE est configurée et fonctionne sur votre cluster. Pour en savoir plus, consultez Déployer des passerelles.
- Installez l'opérateur Apigee pour Kubernetes. Pour obtenir des instructions d'installation, consultez Installer l'opérateur Apigee pour Kubernetes.
Rôles requis
Si vous attribuez les rôles requis à votre compte de service, comme décrit dans Installer l'opérateur Apigee pour Kubernetes, aucun rôle ni autorisation IAM supplémentaires ne sont nécessaires pour effectuer ces tâches.
Vous pouvez choisir d'autoriser des actions sur les ressources de votre cluster Google Kubernetes Engine à l'aide du mécanisme intégré de contrôle des accès basé sur les rôles (RBAC) dans Kubernetes. Pour en savoir plus, consultez Autoriser des actions dans les clusters à l'aide du contrôle des accès basé sur les rôles.
Créer le APIMExtensionPolicy
Dans cette étape, créez le fichier APIMExtensionPolicy
et appliquez-le à la passerelle GKE exécutée dans votre cluster.
Cette règle régit tout le trafic transitant par la passerelle et son HTTPRoutes
associé, fonctionnant de la même manière qu'un flowhook au niveau de l'environnement dans Apigee aujourd'hui.
Créez la règle d'extension APIM :
- Créez un fichier nommé
global-ext-lb1-apim-policy.yaml
dans l'espace de nomsapim
. - Copiez ce qui suit dans le nouveau fichier :
# 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
Où ENV_NAME correspond au nom de l'environnement Apigee créé à l'étape d'installation Créer un environnement Apigee.
Vous pouvez afficher tous les environnements disponibles sur la page Environnements Apigee de la console Google Cloud :
- Appliquez la règle :
kubectl -n apim apply -f global-ext-lb1-apim-policy.yaml
Une fois la règle appliquée, l'opérateur Apigee pour Kubernetes crée des ressources réseau en arrière-plan.
- Vérifiez l'état de la règle d'extension APIM à l'aide de la commande suivante :
kubectl -n apim get APIMExtensionPolicy
Le résultat doit ressembler à ce qui suit, avec un
State
deRUNNING
:NAME STATE ERRORMESSAGE global-ext-lb1-apim-policy RUNNING
- Utilisez la commande suivante pour envoyer une requête à la passerelle :
curl http://GATEWAY_IP_ADDRESS/get -H "Host: HOST_NAME"
Où :
GATEWAY_IP_ADDRESS
est l'adresse IP de la passerelle. Vous pouvez récupérer l'adresse IP de la passerelle à l'aide de la commande suivante, oùGATEWAY_NAME
est le nom de la passerelle :kubectl get gateways.gateway.networking.k8s.io GATEWAY_NAME -o=jsonpath="{.status.addresses[0].value}"
HOST_NAME
correspond au nom d'hôte défini dans la ressourceHTTPRoute
de la passerelle.
- La requête devrait échouer, car la sécurité par défaut est activée en définissant
defaultSecurityEnabled: true
dans la ressource de règle d'extension d'API. Un résultat semblable à celui-ci doit s'afficher :{"fault":{"faultstring":"Raising fault. Fault name : RF-insufficient-request-raise-fault","detail":{"errorcode":"steps.raisefault.RaiseFault"}}}
Cela indique que la règle d'extension Apigee est active et que l'application des clés API et la vérification des jetons d'accès sont actives.
Étapes suivantes
- Découvrez comment ajouter des stratégies à la passerelle GKE.
- Découvrez comment désinstaller l'opérateur Apigee pour Kubernetes.