Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Esta página descreve 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 iniciar esta tarefa, conclua os seguintes passos:
- Confirme se o seu cluster do GKE tem um Workload Identity configurado. Consulte o artigo Crie uma identidade de carga de trabalho para ver os passos necessários.
- Confirme se o cluster tem um GKE Gateway configurado e a funcionar. Consulte o artigo Implementar gateways para mais detalhes.
- Instale o operador do Apigee para Kubernetes. Consulte o artigo Instale o Apigee Operator para Kubernetes para ver instruções de instalação.
Funções necessárias
Se atribuir as funções necessárias à sua conta de serviço, conforme descrito no artigo Instale o operador do Apigee para Kubernetes, não são necessárias funções nem autorizações de IAM adicionais para concluir estas tarefas.
Pode optar por autorizar ações em recursos no seu cluster do Google Kubernetes Engine através do mecanismo de controlo de acesso baseado em funções (RBAC) integrado no Kubernetes. Para mais informações, consulte o artigo Autorize ações em clusters através do controlo de acesso baseado em funções.
Crie o APIMExtensionPolicy
Neste passo, crie o APIMExtensionPolicy
e aplique-o ao GKE Gateway em execução no seu cluster.
Esta política rege todo o tráfego que passa pelo Gateway e o respetivo HTTPRoutes
,
funcionando de forma semelhante a um flowhook ao nível do ambiente no Apigee atualmente.
Crie a política de extensão da APIM:
- Crie um novo ficheiro com o nome
global-ext-lb1-apim-policy.yaml
no espaço de nomesapim
. - Copie o seguinte conteúdo para o novo ficheiro:
# 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
Onde ENV_NAME é o nome do ambiente Apigee criado no passo de instalação Crie um ambiente Apigee.
Pode ver todos os ambientes disponíveis na página Apigee Environments na Google Cloud consola:
- Aplique a política:
kubectl -n apim apply -f global-ext-lb1-apim-policy.yaml
Depois de a política ser aplicada, o operador do Apigee para Kubernetes cria recursos de rede em segundo plano.
- Verifique o estado da política de extensão da APIM através do seguinte comando:
kubectl -n apim get APIMExtensionPolicy
O resultado deve ser semelhante ao seguinte, com um
State
deRUNNING
:NAME STATE ERRORMESSAGE global-ext-lb1-apim-policy RUNNING
- Use o seguinte comando para enviar um pedido ao gateway:
curl http://GATEWAY_IP_ADDRESS/get -H "Host: HOST_NAME"
Onde:
GATEWAY_IP_ADDRESS
é o endereço IP do gateway. Pode obter o endereço IP do gateway através do 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 de anfitrião definido noHTTPRoute
do gateway.
- O pedido deve falhar porque a segurança predefinida está ativada ao definir
defaultSecurityEnabled: true
no recurso da política de extensão da API. Deve ver uma resposta semelhante à seguinte:{"fault":{"faultstring":"Raising fault. Fault name : RF-insufficient-request-raise-fault","detail":{"errorcode":"steps.raisefault.RaiseFault"}}}
Isto indica que a política de extensão do Apigee está ativa e que a aplicação da chave de API e a validação do token de acesso estão ativas.
O que se segue?
- Saiba como adicionar políticas ao GKE Gateway.
- Saiba como desinstalar o operador do Apigee para Kubernetes.