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
eingressGateways[].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
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 do 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):
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, definir 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.
ConsulteingressGateways[].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:
Escalar 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 balanceador 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
.
Mapeamento de anfitriões virtuais para implementações do gateway de entrada do Apigee
Pode usar etiquetas de seletores para mapear um anfitrião virtual para uma implementação de gateway de entrada do Apigee. No exemplo seguinte, o anfitrião virtual spam-vh
está configurado para ser executado no gateway de entrada etiquetado como meat
, e os outros dois anfitriões virtuais são executados no 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
Adicionar conjuntos de cifras personalizados a implementações de gateway de entrada do Apigee
Pode adicionar conjuntos de cifras personalizados à implementação do gateway de entrada do Apigee com a propriedade
virtualhosts.cipherSuites
no ficheiro de substituições.
Consulte o artigo virtualhosts.cipherSuites
para ver os conjuntos de cifras predefinidos ativados no Apigee hybrid.
Pode ativar versões mais antigas do TLS com a propriedade virtualhosts.minTLSProtocolVersion
e adicionar conjuntos de cifras personalizados à implementação do gateway de entrada do Apigee com a propriedade virtualhosts.cipherSuites
no ficheiro de substituições.
Por exemplo, para ativar o 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" ...
Personalize os registos de acesso do Ingress
Pode personalizar o destino e o formato do registo de acesso do gateway de entrada do Apigee com as propriedades de configuração
istiod.accessLogFile
e
istiod.accessLogFormat
. No exemplo seguinte, a saída é enviada para /dev/stdout
, que é o valor predefinido de istiod.accessLogFile
:
istiod: accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'
Pode desativar o registo de acesso do gateway de entrada do Apigee atribuindo istiod.accessLogFile
e um valor vazio. Por exemplo:
istiod: accessLogFile: ''
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 funciona com o gateway de entrada do Apigee.