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 # optionalExemplo
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[].namena 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[].replicaCountMineingressGateways[].replicaCountMaxna 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.cpueingressGateways[].resources.requests.memoryna 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.cpueingressGateways[].resources.limits.memoryna 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.
ConsulteingressGateways[].svcAnnotationsna 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[].svcLoadBalancerIPna 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:
Dimensionar o gateway de entrada do Apigee:
Atualize as seguintes propriedades no ficheiro de substituições.
ingressGateways[].replicaCountMaxingressGateways[].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.cpuingressGateways[].resources.limits.memoryingressGateways[].resources.requests.cpuingressGateways[].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[].svcAnnotationsingressGateways[].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
O Apigee hybrid suporta conjuntos de cifras TLS v1.2. Se estiver a usar o TLS v1.0 ou v1.1, pode usar a propriedade virtualhosts.cipherSuites no ficheiro de substituições para adicionar conjuntos de cifras personalizados à implementação do gateway de entrada do Apigee.
Por exemplo, para suportar 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" ...
Por exemplo, para suportar o 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" ...
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 o valor 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 vai funcionar com o gateway de entrada do Apigee.