Como gerenciar o gateway de entrada da Apigee

A partir da versão 1.8 da Apigee híbrida, a Apigee híbrida usa o gateway de entrada da Apigee para fornecer o gateway de entrada para sua instalação híbrida.

Como configurar o gateway de entrada da Apigee

É possível configurar os gateways de entrada no overrides.yaml. Exemplo:

Sintaxe

ingressGateways:
- name: INGRESS_NAME
  replicaCountMin: REPLICAS_MIN
  replicaCountMax: REPLICAS_MAX
  resources:
    requests:
      cpu: CPU_COUNT_REQ
      memory: MEMORY_REQ
    limits:
      cpu: CPU_COUNT_LIMIT
      memory: MEMORY_LIMIT
  svcAnnotations:  # optional. See Known issue 243599452.
    SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
  svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

Exemplo

ingressGateways:
- name: prod1
  replicaCountMin: 2
  replicaCountMax: 100
  resources:
    requests:
      cpu: 1
      memory: 1Gi
    limits:
      cpu: 2
      memory: 2Gi
  svcAnnotations:  # optional. See Known issue 243599452.
    networking.gke.io/load-balancer-type: "Internal"
  svcLoadBalancerIP: 198.252.0.123 
  • INGRESS_NAME é o nome da implantação do gateway de entrada. Pode ser qualquer nome que atenda aos seguintes requisitos:
    • ter um comprimento máximo de 17 caracteres
    • conter apenas caracteres alfanuméricos minúsculos, "-" ou ".";
    • começar com um caractere alfanumérico;
    • terminar com um caractere alfanumérico.

    Consulte ingressGateways[].name na referência da propriedade de configuração.

  • REPLICAS_MIN e REPLICAS_MAX: as contagens mínima e máxima de réplicas para o gateway de entrada da Apigee na instalação. Consulte ingressGateways[].replicaCountMin e ingressGateways[].replicaCountMax na referência da propriedade de configuração.
  • CPU_COUNT_REQ e MEMORY_REQ a solicitação de CPU e memória para cada réplica do gateway de entrada da Apigee na sua instalação.

    Consulte ingressGateways[].resources.requests.cpu e ingressGateways[].resources.requests.memory na referência da propriedade de configuração.

  • CPU_COUNT_LIMIT e MEMORY_LIMIT Os limites máximos de CPU e memória para cada réplica do gateway de entrada da Apigee na sua instalação.

    Consulte ingressGateways[].resources.limits.cpu e ingressGateways[].resources.limits.memory na referência da propriedade de configuração.

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (opcional):

    Esse é um par de chave-valor que fornece anotações para o serviço de entrada padrão. As anotações são usadas pela sua plataforma de nuvem para ajudar a configurar sua instalação híbrida, por exemplo, definindo o tipo de balanceador de carga como interno ou externo. Exemplo:

    ingressGateways:
      svcAnnotations:
        networking.gke.io/load-balancer-type: "Internal"

    As anotações variam de acordo com a plataforma. Consulte a documentação da sua plataforma para ver anotações obrigatórias e sugeridas.

    Consulte ingressGateways[].svcAnnotations na referência da propriedade de configuração.
  • SVC_LOAD_BALANCER_IP (opcional). Nas plataformas compatíveis com a especificação do endereço IP do balanceador de carga, o balanceador de carga será criado com esse endereço IP. Nas plataformas que não permitem especificar o IP do balanceador de carga, essa propriedade é ignorada. Consulte ingressGateways[].svcLoadBalancerIP na referência da propriedade de configuração.

Aplicar a configuração do gateway de entrada da Apigee

Aplique mudanças no escopo da organização com apigeectl.

$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --org

Tarefas de gerenciamento

Algumas tarefas de gerenciamento comuns para o gateway de entrada da Apigee:

Parar de fornecer a configuração para o ASM

Depois de fazer upgrade para a Apigee v1.8 híbrida e migrar o tráfego para o gateway de entrada da Apigee, não será possível fornecer a configuração de roteamento para o Anthos Service Mesh.

  1. Atualize o controlador da Apigee para interromper a atualização de objetos de resposta automática do Anthos Service Mesh no servidor de API. No arquivo de substituições, defina:

    ao:
      args:
        disableIstioConfigInAPIServer: true
  2. Aplique as alterações de configuração:

    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
    

    Consulte ao na referência de propriedades da configuração para mais detalhes.

  3. Verifique o status da implantação com o comando a seguir, porque o comando anterior reiniciou o controlador:
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  4. Atualize o virtualhosts. Cada host virtual precisa incluir a etiqueta do seletor app com o valor app: apigee-ingressgateway. Com essa alteração, o gateway do Anthos Service Mesh não poderá ler a configuração de roteamento da Apigee.

    Adicione ou substitua a propriedade selector em cada host virtual da seguinte maneira:

    virtualhosts:
    - name: ENV_GROUP
      selector:
        app: apigee-ingressgateway # required
      ...
    

    Aplique as alterações de configuração:

    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
    

    Para mais informações, consulte virtualhosts.selector na referência da propriedade de configuração.

Como escalonar o gateway de entrada da Apigee:

Atualize as seguintes propriedades no arquivo de substituição.

  • ingressGateways[].replicaCountMax
  • ingressGateways[].replicaCountMin

Consulte ingressGateways na referência de propriedades da configuração para mais detalhes.

Aplique as mudanças com apigeectl apply --org.

Atualizando a alocação de recursos

Atualize as seguintes propriedades no arquivo de substituição.

  • ingressGateways[].resources.limits.cpu
  • ingressGateways[].resources.limits.memory
  • ingressGateways[].resources.requests.cpu
  • ingressGateways[].resources.requests.memory

Consulte ingressGateways na referência de propriedades da configuração para mais detalhes.

Aplique as mudanças com apigeectl apply --org.

Como atualizar o serviço de gateway de entrada da Apigee

Atualize as seguintes propriedades no arquivo de substituição.

  • ingressGateways[].svcAnnotations
  • ingressGateways[].svcLoadBalancerIP

Consulte ingressGateways na referência de propriedades da configuração para mais detalhes.

Aplique as mudanças com apigeectl apply --org.

Desative o balanceador de carga para o serviço de gateway de entrada padrão da Apigee:

Se você criar um serviço personalizado do Kubernetes para a implantação do gateway de entrada, será possível desativar a criação de um balanceador de carga no serviço padrão do Kubernetes. Atualize a propriedade ingressGateways[].svcType para ClusterIP no arquivo de substituição. Exemplo:

ingressGateways:
  - name: my-ingress-gateway
    replicaCountMin: 2
    replicaCountMax: 10
    svcType: ClusterIP

Aplique as mudanças com apigeectl apply --org.

Configurar TLS e mTLS

Consulte Como configurar o TLS e o mTLS no gateway de entrada.

Como ativar clientes não SNI

Ativar clientes não SNI e HTTP.

Como instalar outros gateways de entrada da Apigee

No arquivo overrides.yaml, é possível adicionar vários gateways de entrada. A propriedade de configuração ingressGateways é uma matriz. Para mais informações, consulte ingressGateways na referência das propriedades de configuração.

Exemplo:

ingressGateways:
- name: fruit
  replicaCountMin: 2
  replicaCountMax: 10

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

Aplique as mudanças com apigeectl apply --org.

Como segmentar uma entrada da Apigee para um host virtual

É possível direcionar um gateway de entrada rotulado da Apigee para um host virtual específico no arquivo de substituição. Essa configuração especifica o gateway de entrada em que a Apigee aplicará a configuração do host virtual. No exemplo a seguir, o host virtual spam-vh está configurado para usar o gateway de entrada meat e os outros dois hosts virtuais usam o gateway de entrada fruit. Os gateways de entrada precisam ser rotulados corretamente, conforme explicado em Como instalar gateways adicionais do Anthos Service Mesh.

virtualhosts:
- name: spam-vh
  sslCertPath: cert-spam.crt
  sslKeyPath: cert-spam.key
  selector:
    app: apigee-ingressgateway
    ingress_name: meat
- name: banana-vh
  sslCertPath: cert-banana.crt
  sslKeyPath: cert-banana.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit
- name: plum-vh
  sslCertPath: cert-plum.crt
  sslKeyPath: cert-plum.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit

    

Perguntas frequentes

Como isso funciona com minha instalação atual do Anthos Service Mesh/Istio em outro namespace?
Desde que a Apigee esteja instalada em um namespace dedicado, o gateway de entrada da Apigee pode ser executado junto de uma instalação do Anthos Service Mesh/Istio no cluster. O gateway de entrada da Apigee não armazena nenhuma configuração no apiserver. Portanto, não haverá conflito.
Quem é responsável por fazer upgrade dos componentes do gateway de entrada da Apigee?
O upgrade dos componentes do gateway de entrada da Apigee é feito pela Apigee e acontece durante upgrades híbridos regulares e versões de patches.
Como expor a porta 80 no gateway de entrada da Apigee?
A porta 80 não é compatível com o gateway de entrada da Apigee. Se você estiver migrando do Anthos Service Mesh para o gateway de entrada da Apigee e tiver seguido as instruções na postagem da comunidade para ativar a porta 80, ela não funcionará com o gateway de entrada da Apigee.