Gestione del gateway di ingresso Apigee

A partire dalla versione 1.8 di Apigee hybrid, Apigee hybrid utilizza il gateway di ingresso Apigee per fornire il gateway di ingresso per l'architettura ibrida.

Configurazione del gateway di ingresso Apigee

Puoi configurare i gateway in entrata in overrides.yaml. Ad esempio:

Sintassi

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

Esempio

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 è il nome del deployment del gateway di ingresso. Può essere qualsiasi nome che soddisfi le i seguenti requisiti:
    • Deve avere una lunghezza massima di 17 caratteri
    • Contenere solo caratteri alfanumerici minuscoli, "-" o "."
    • Inizia con un carattere alfanumerico
    • Termina con un carattere alfanumerico

    Consulta ingressGateways[].name nel riferimento per le proprietà di configurazione

  • REPLICAS_MIN e REPLICAS_MAX Il numero minimo e massimo di repliche per il gateway in entrata Apigee nella tua installazione. Consulta: ingressGateways[].replicaCountMin e ingressGateways[].replicaCountMax nel riferimento della proprietà Configurazione.
  • CPU_COUNT_REQ e MEMORY_REQ Le richieste di CPU e memoria per ogni del gateway Apigee in entrata nella tua installazione.

    Consulta: ingressGateways[].resources.requests.cpu e ingressGateways[].resources.requests.memory nel riferimento della proprietà di configurazione.

  • CPU_COUNT_LIMIT e MEMORY_LIMIT I limiti massimi di CPU e memoria per ogni replica del gateway di ingresso Apigee nella tua installazione.

    Consulta: ingressGateways[].resources.limits.cpu e ingressGateways[].resources.limits.memory nel riferimento della proprietà di configurazione.

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (facoltativo):

    Si tratta di una coppia chiave-valore che fornisce annotazioni per il servizio di importazione predefinito. Le annotazioni vengono utilizzate dalla piattaforma cloud per aiutarti a configurare l'installazione ibrida, ad esempio impostando il tipo di bilanciatore del carico su interno o esterno. Ad esempio:

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

    Le annotazioni variano da una piattaforma all'altra. Fai riferimento alla tua piattaforma documentazione per le annotazioni obbligatorie e suggerite.

    Consulta ingressGateways[].svcAnnotations nella documentazione di riferimento delle proprietà di configurazione.
  • SVC_LOAD_BALANCER_IP (facoltativo). Su piattaforme che supportano la specifica del bilanciatore del carico Indirizzo IP, il bilanciatore del carico verrà creato con questo indirizzo IP. Su piattaforme che non ti permettono di specificare l'indirizzo IP del bilanciatore del carico, questa proprietà viene ignorata. Consulta ingressGateways[].svcLoadBalancerIP nel riferimento per le proprietà di configurazione.

Applica la configurazione del gateway di ingresso Apigee

Applica le modifiche all'ambito dell'organizzazione con apigeectl.

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

Attività di gestione

Alcune attività di gestione comuni per il gateway in entrata Apigee:

Esegui la scalabilità del gateway di ingresso Apigee:

Aggiorna le seguenti proprietà nel file delle sostituzioni.

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

Per maggiori dettagli, consulta ingressGateways nel Riferimento per le proprietà di configurazione.

Applica le modifiche con apigeectl apply --org.

Aggiornamento dell'allocazione delle risorse in corso...

Aggiorna le seguenti proprietà nel file degli override.

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

Vedi ingressGateways nel Informazioni dettagliate sulle proprietà di configurazione.

Applica le modifiche con apigeectl apply --org.

Aggiornamento del servizio gateway di ingresso Apigee

Aggiorna le seguenti proprietà nel file delle sostituzioni.

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

Per maggiori dettagli, consulta ingressGateways nel Riferimento per le proprietà di configurazione.

Applica le modifiche con apigeectl apply --org.

Disattiva il bilanciatore del carico per il servizio gateway di ingresso Apigee predefinito:

Se crei un servizio Kubernetes personalizzato per il deployment del gateway di ingresso, puoi disattivare la creazione di un bilanciatore del carico nel servizio Kubernetes predefinito. Aggiorna la proprietà ingressGateways[].svcType in ClusterIP nel file delle sostituzioni. Ad esempio:

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

Applica le modifiche con apigeectl apply --org.

Configura TLS e mTLS

Vedi Configurare TLS e mTLS sul gateway in entrata.

Abilitazione di client non SNI

Vedi Abilitare client non SNI e HTTP.

Installazione di gateway in entrata Apigee aggiuntivi in corso...

Nel file overrides.yaml puoi aggiungere più gateway di ingresso. La proprietà di configurazione ingressGateways è un array. Per ulteriori informazioni, consulta ingressGateways nel riferimento alle proprietà di configurazione.

Ad esempio:

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

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

Applica le modifiche con apigeectl apply --org.

Mappatura degli host virtuali ai deployment dei gateway Apigee in entrata

Puoi utilizzare le etichette dei selettori per mappare un host virtuale a un deployment del gateway di ingresso Apigee. Nella nell'esempio seguente, l'host virtuale spam-vh è configurato su verranno eseguiti sul gateway in entrata con l'etichetta meat e gli altri due host virtuali il gateway in entrata fruit. I gateway in entrata devono essere etichettati correttamente, come spiegato in Installazione di gateway Anthos Service Mesh aggiuntivi.

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

    

Aggiunta di suite di crittografia personalizzate ai deployment del gateway di ingresso Apigee

Apigee hybrid supporta le suite di crittografia TLS 1.2. Se utilizzi TLS v1.0 o v1.1, puoi utilizzare virtualhosts.cipherSuites nel file degli override per aggiungere suite di crittografia personalizzate al deployment del gateway in entrata Apigee.

Ad esempio, per supportare 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"
  ...

Ad esempio, per supportare 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"
  ...

Personalizza i log di accesso in entrata

Puoi personalizzare la destinazione e il formato dei log di accesso del gateway di ingresso Apigee con le proprietà di configurazione istiod.accessLogFile e istiod.accessLogFormat. Nell'esempio seguente, l'output verrà inviato a /dev/stdout, che è il valore predefinito per istiod.accessLogFile:

istiod:
  accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'

Puoi disabilitare il logging degli accessi al gateway in entrata Apigee assegnando istiod.accessLogFile e vuoto valore. Ad esempio:

istiod:
  accessLogFile: ''

Domande frequenti

Come funziona con la mia installazione Anthos Service Mesh/Istio esistente in un altro spazio dei nomi?
Finché Apigee è installato in uno spazio dei nomi dedicato, il gateway Apigee in entrata può essere eseguito insieme a un'installazione Anthos Service Mesh/Istio già esistente nel cluster. Il gateway di ingresso Apigee non memorizza alcuna configurazione in apiserver, pertanto non ci saranno conflitti.
Chi è responsabile dell'upgrade dei componenti gateway di Apigee in entrata?
L'upgrade dei componenti gateway di Apigee in entrata viene gestito da Apigee e avviene durante le normali upgrade ibridi e release di patch.
Come posso esporre la porta 80 nel gateway in entrata Apigee?
La porta 80 non è supportata dal gateway in entrata Apigee. Se stai eseguendo la migrazione da Anthos Service Mesh a gateway Apigee in entrata e seguito le istruzioni nella il per abilitare la porta 80, non funzionerà con il gateway Apigee Ingress.