Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da
Apigee Edge.
Nesta página, descrevemos como criar um APIMExtensionPolicy
para criar a extensão de tráfego necessária
no gateway do Google Kubernetes Engine (GKE) em execução no seu cluster.
Antes de começar
Antes de começar esta tarefa, conclua as seguintes etapas:
- Confirme se o cluster do GKE tem uma Identidade da carga de trabalho configurada. Consulte Criar uma identidade da carga de trabalho para conferir as etapas necessárias.
- Confirme se o cluster tem um gateway do GKE configurado e funcionando. Consulte Como implantar gateways para mais detalhes.
- Instale o operador da Apigee para Kubernetes. Consulte Instalar o operador do Apigee para Kubernetes para instruções de instalação.
Funções exigidas
Se você atribuir os papéis necessários à sua conta de serviço, conforme descrito em Instalar o operador do Apigee para Kubernetes, não serão necessários outros papéis ou permissões do IAM para concluir essas tarefas.
É possível autorizar ações em recursos no cluster do Google Kubernetes Engine usando o mecanismo integrado de controle de acesso baseado em papéis (RBAC, na sigla em inglês) no Kubernetes. Para mais informações, consulte Autorizar ações em clusters usando o controle de acesso baseado em papéis.
Criar o APIMExtensionPolicy
Nesta etapa, crie o APIMExtensionPolicy
e aplique-o ao gateway do GKE em execução no cluster.
Essa política rege todo o tráfego que passa pelo gateway e pelo HTTPRoutes
associado, funcionando de maneira semelhante a um flowhook no nível do ambiente no Apigee hoje.
Crie a política de extensão do APIM:
- Crie um novo arquivo chamado
global-ext-lb1-apim-policy.yaml
no namespaceapim
. - Copie o conteúdo a seguir no novo arquivo:
# 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
Em que ENV_NAME é o nome do ambiente da Apigee criado na etapa de instalação Criar um ambiente da Apigee.
É possível conferir todos os ambientes disponíveis na página Ambientes do Apigee no console Google Cloud :
- Aplique a política:
kubectl -n apim apply -f global-ext-lb1-apim-policy.yaml
Depois que a política é aplicada, o operador do Apigee para Kubernetes cria recursos de rede em segundo plano.
- Verifique o status da política de extensão do APIM usando o seguinte comando:
kubectl -n apim get APIMExtensionPolicy
A saída será parecida com esta, com um
State
deRUNNING
:NAME STATE ERRORMESSAGE global-ext-lb1-apim-policy RUNNING
- Use o comando a seguir para enviar uma solicitação ao gateway:
curl http://GATEWAY_IP_ADDRESS/get -H "Host: HOST_NAME"
Em que:
GATEWAY_IP_ADDRESS
é o endereço IP do gateway. É possível recuperar o endereço IP do gateway usando o seguinte comando, em queGATEWAY_NAME
é o nome do gateway:kubectl get gateways.gateway.networking.k8s.io GATEWAY_NAME -o=jsonpath="{.status.addresses[0].value}"
HOST_NAME
é o nome do host definido noHTTPRoute
do gateway.
- A solicitação vai falhar porque a segurança padrão é ativada definindo
defaultSecurityEnabled: true
no recurso de política de extensão da API. Uma resposta semelhante a esta vai aparecer:{"fault":{"faultstring":"Raising fault. Fault name : RF-insufficient-request-raise-fault","detail":{"errorcode":"steps.raisefault.RaiseFault"}}}
Isso indica que a política de extensão da Apigee está ativa e que a aplicação de chaves de API e a verificação de token de acesso estão ativas.
A seguir
- Saiba como adicionar políticas ao gateway do GKE.
- Saiba como desinstalar o operador do Apigee para Kubernetes.