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
eingressGateways[].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
eingressGateways[].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
eingressGateways[].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.
ConsulteingressGateways[].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:
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
.
Associações de hosts virtuais para implantações do gateway de entrada da Apigee
É possível usar rótulos do seletor para associar um host virtual a uma implantação de gateway de entrada da Apigee. No
exemplo a seguir, o host virtual spam-vh
está configurado para
ser executado no gateway de entrada chamado meat
e os outros dois hosts virtuais são executados
no 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
Como adicionar conjuntos de criptografia personalizados às implantações de gateway de entrada da Apigee
A Apigee híbrida é compatível com pacotes de criptografia TLS v1.2. Se você estiver usando o TLS v1.0 ou v1.1, use
a propriedade virtualhosts.cipherSuites
no arquivo de substituições para adicionar conjuntos de criptografia personalizados à implantação de gateway de entrada da Apigee.
Por exemplo, para oferecer suporte ao TLS v.1.1:
virtualhosts: - name: ENV_GROUP_NAME minTLSProtocolVersion: "1.1" cipherSuites: - "ECDHE-ECDSA-AES128-GCM-SHA256" - "ECDHE-RSA-AES128-GCM-SHA256" - "ECDHE-ECDSA-AES256-GCM-SHA384" - "ECDHE-RSA-AES256-GCM-SHA384" - "ECDHE-ECDSA-CHACHA20-POLY1305" - "ECDHE-RSA-CHACHA20-POLY1305" - "ECDHE-ECDSA-AES128-SHA" - "ECDHE-RSA-AES128-SHA" - "ECDHE-ECDSA-AES256-SHA" - "ECDHE-RSA-AES256-SHA" ...
Por exemplo, para oferecer suporte ao TLS v.1.0:
virtualhosts: - name: ENV_GROUP minTLSProtocolVersion: "1.0" cipherSuites: - "ECDHE-ECDSA-AES128-GCM-SHA256" - "ECDHE-RSA-AES128-GCM-SHA256" - "ECDHE-ECDSA-AES256-GCM-SHA384" - "ECDHE-RSA-AES256-GCM-SHA384" - "ECDHE-ECDSA-CHACHA20-POLY1305" - "ECDHE-RSA-CHACHA20-POLY1305" - "ECDHE-ECDSA-AES128-SHA" - "ECDHE-RSA-AES128-SHA" - "ECDHE-ECDSA-AES256-SHA" - "ECDHE-RSA-AES256-SHA" ...
Personalizar registros de acesso de entrada
É possível personalizar o destino e o formato do registro de acesso do gateway de entrada da Apigee com as
propriedades de configuração
istiod.accessLogFile
e
istiod.accessLogFormat
. No exemplo a seguir, a saída será enviada para /dev/stdout
,
que é o valor padrão de istiod.accessLogFile
:
istiod: accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'
É possível desativar a geração de registros de acesso ao gateway de entrada da Apigee atribuindo
istiod.accessLogFile
e um valor
vazio. Exemplo:
istiod: accessLogFile: ''
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.