Gerir o gateway de entrada do Apigee

A partir da versão 1.8 do Apigee Hybrid, o Apigee Hybrid usa o gateway de entrada do Apigee para fornecer o gateway de entrada para o Hybrid.

Configurar o gateway de entrada do Apigee

Pode configurar os gateways de entrada no seu overrides.yaml. Por 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.
    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 implementação da gateway de entrada. Pode ser qualquer nome que cumpra os seguintes requisitos:
    • Ter um comprimento máximo de 17 carateres
    • Contêm apenas carateres alfanuméricos minúsculos, "-" ou "."
    • Começar com um caráter alfanumérico
    • Terminar com um caráter alfanumérico

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

  • REPLICAS_MIN e REPLICAS_MAX O número mínimo e máximo de réplicas para o gateway de entrada do Apigee na sua instalação. Consulte ingressGateways[].replicaCountMin e ingressGateways[].replicaCountMax na referência da propriedade de configuração.
  • CPU_COUNT_REQ e MEMORY_REQ O pedido de CPU e memória para cada réplica do gateway de entrada do 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 do 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):

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

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

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

    Consulte ingressGateways[].svcAnnotations na referência da propriedade de configuração.
  • SVC_LOAD_BALANCER_IP (opcional). Em plataformas que suportam a especificação do endereço IP do balanceador de carga, o balanceador de carga é criado com este endereço IP. Em plataformas que não permitem especificar o endereço IP do equilibrador de carga, esta propriedade é ignorada. Consulte ingressGateways[].svcLoadBalancerIP na referência da propriedade de configuração.

Aplique a configuração do gateway de entrada do Apigee

Aplique alterações ao âmbito da organização com apigeectl.

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

Tarefas de gestão

Algumas tarefas de gestão comuns para o gateway de entrada do Apigee:

Deixe de fornecer configuração ao ASM

Depois de atualizar para o Apigee hybrid v1.8 e migrar o tráfego para o gateway de entrada do Apigee, pode parar de fornecer a configuração de encaminhamento ao Anthos Service Mesh.

  1. Atualize o controlador do Apigee para parar de atualizar os objetos CR do Anthos Service Mesh no servidor da API. No ficheiro 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 de configuração para ver detalhes.

  3. Verifique o estado da implementação com o seguinte comando, uma vez que o comando anterior reiniciou o controlador:
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  4. Atualize o virtualhosts. Todos os anfitriões virtuais têm de incluir a etiqueta do seletor app com o valor app: apigee-ingressgateway. Com esta alteração, o gateway do Anthos Service Mesh não vai poder ler a configuração de encaminhamento do Apigee.

    Adicione ou substitua a propriedade selector em cada anfitrião virtual da seguinte forma:

    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.

Dimensionar o gateway de entrada do Apigee:

Atualize as seguintes propriedades no ficheiro de substituições.

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

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

Aplique as alterações com apigeectl apply --org.

Atualização da atribuição de recursos

Atualize as seguintes propriedades no ficheiro de substituições.

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

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

Aplique as alterações com apigeectl apply --org.

Atualizar o serviço de gateway de entrada do Apigee

Atualize as seguintes propriedades no ficheiro de substituições.

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

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

Aplique as alterações com apigeectl apply --org.

Desative o equilibrador de carga para o serviço de gateway de entrada do Apigee predefinido:

Se criar um serviço Kubernetes personalizado para a implementação do gateway de entrada, pode desativar a criação de um equilibrador de carga no serviço Kubernetes predefinido. Atualize a propriedade ingressGateways[].svcType para ClusterIP no ficheiro de substituições. Por exemplo:

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

Aplique as alterações com apigeectl apply --org.

Configure o TLS e o mTLS

Consulte o artigo Configurar TLS e mTLS no gateway de entrada.

Ativar clientes não SNI

Consulte o artigo Ative clientes HTTP e não SNI.

Instalar gateways de entrada do Apigee adicionais

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

Por exemplo:

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

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

Aplique as alterações com apigeectl apply --org.

Segmentar uma entrada do Apigee para um anfitrião virtual

Pode segmentar um gateway de entrada do Apigee etiquetado para um anfitrião virtual específico no ficheiro de substituições. Esta configuração especifica o gateway de entrada onde o Apigee aplica a configuração do anfitrião virtual. No exemplo seguinte, o anfitrião virtual spam-vh está configurado para usar o gateway de entrada etiquetado como meat e os outros dois anfitriões virtuais usam o gateway de entrada fruit. Os gateways de entrada têm de estar etiquetados corretamente, conforme explicado no artigo 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 é que isto funciona com a minha instalação do Anthos Service Mesh/Istio existente noutro espaço de nomes?
Desde que o Apigee esteja instalado num espaço de nomes dedicado, o gateway de entrada do Apigee pode ser executado juntamente com uma instalação do Anthos Service Mesh/Istio já existente no cluster. O gateway de entrada do Apigee não armazena nenhuma configuração no apiserver, pelo que não existe nenhum conflito.
Quem é responsável pela atualização dos componentes do gateway de entrada do Apigee?
A atualização dos componentes do gateway de entrada do Apigee é da responsabilidade do Apigee e ocorre durante as atualizações híbridas regulares e os lançamentos de patches.
Como posso expor a porta 80 no gateway de entrada do Apigee?
A porta 80 não é suportada pela entrada do gateway do Apigee. Se estiver a migrar do Anthos Service Mesh para o gateway de entrada do Apigee e tiver seguido as instruções no post da comunidade para ativar a porta 80, esta não vai funcionar com o gateway de entrada do Apigee.