Gestione del gateway in entrata Apigee

A partire da Apigee hybrid versione 1.8, Apigee hybrid utilizza il gateway Apigee in entrata per fornire il gateway in entrata per gli ambienti ibridi.

Configurazione del gateway in entrata Apigee in corso...

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 in entrata. Può essere qualsiasi nome che soddisfi i seguenti requisiti:
    • 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 nella Riferimento alle proprietà di configurazione

  • REPLICAS_MIN e REPLICAS_MAX Numero minimo e massimo di repliche per il gateway Apigee in entrata nella tua installazione. Consulta ingressGateways[].replicaCountMin e ingressGateways[].replicaCountMax nel riferimento sulle proprietà di configurazione.
  • CPU_COUNT_REQ e MEMORY_REQ La richiesta di CPU e memoria per ogni replica del gateway in entrata Apigee nella tua installazione.

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

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

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

  • (Facoltativo) SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE:

    Si tratta di una coppia chiave-valore che fornisce annotazioni per il servizio in entrata predefinito. Le annotazioni vengono utilizzate dalla piattaforma cloud per 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 piattaforma a piattaforma. Per le annotazioni richieste e suggerite, fai riferimento alla documentazione della tua piattaforma.

    Consulta ingressGateways[].svcAnnotations nella Riferimento alle proprietà di configurazione.
  • SVC_LOAD_BALANCER_IP (facoltativo). Sulle piattaforme che supportano la specifica dell'indirizzo IP del bilanciatore del carico, il bilanciatore del carico verrà creato con questo indirizzo IP. Sulle piattaforme che non consentono di specificare l'indirizzo IP del bilanciatore del carico, questa proprietà viene ignorata. Consulta ingressGateways[].svcLoadBalancerIP nella Riferimento alle proprietà di configurazione.

Applica la configurazione del gateway in entrata 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:

Interrompi l'invio della configurazione ad ASM

Dopo aver eseguito l'upgrade ad Apigee hybrid v1.8 e aver eseguito la migrazione del traffico al gateway Apigee in entrata, puoi interrompere la fornitura della configurazione del routing ad Anthos Service Mesh.

  1. Aggiorna il controller Apigee per interrompere l'aggiornamento degli oggetti RP di Anthos Service Mesh nel server API. Nel file degli override, imposta:

    ao:
      args:
        disableIstioConfigInAPIServer: true
  2. Applica le modifiche alla configurazione:

    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
    

    Per maggiori dettagli, consulta ao nella sezione di riferimento delle proprietà di configurazione.

  3. Controlla lo stato del deployment con il comando seguente, perché il comando precedente ha riavviato il controller:
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  4. Aggiorna virtualhosts. Ogni host virtuale deve includere l'etichetta del selettore app con il valore app: apigee-ingressgateway. Con questa modifica, il gateway Anthos Service Mesh non sarà in grado di leggere la configurazione del routing Apigee.

    Aggiungi o sostituisci la proprietà selector in ogni host virtuale nel seguente modo:

    virtualhosts:
    - name: ENV_GROUP
      selector:
        app: apigee-ingressgateway # required
      ...
    

    Applica le modifiche alla configurazione:

    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
    

    Per maggiori informazioni, consulta virtualhosts.selector nella sezione di riferimento sulle proprietà di configurazione.

Scalabilità del gateway in entrata Apigee:

Aggiorna le seguenti proprietà nel file degli override.

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

Per maggiori dettagli, consulta ingressGateways nella sezione di riferimento delle 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

Per maggiori dettagli, consulta ingressGateways nella sezione di riferimento delle proprietà di configurazione.

Applica le modifiche con apigeectl apply --org.

Aggiornamento del servizio gateway in entrata Apigee in corso...

Aggiorna le seguenti proprietà nel file degli override.

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

Per maggiori dettagli, consulta ingressGateways nella sezione di riferimento delle proprietà di configurazione.

Applica le modifiche con apigeectl apply --org.

Disabilita il bilanciatore del carico per il servizio gateway in entrata Apigee predefinito:

Se crei un servizio Kubernetes personalizzato per il deployment del gateway in entrata, puoi disabilitare la creazione di un bilanciatore del carico sul servizio Kubernetes predefinito. Aggiorna la proprietà ingressGateways[].svcType a ClusterIP nel file degli override. Ad esempio:

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

Applica le modifiche con apigeectl apply --org.

Configurare 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 in entrata. 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.

Targeting di un traffico Apigee in entrata verso un host virtuale

Puoi scegliere come target un gateway Apigee in entrata etichettato a un host virtuale specifico nel file di override. Questa configurazione specifica il gateway in entrata in cui Apigee applicherà la configurazione dell'host virtuale. Nell'esempio seguente, l'host virtuale spam-vh è configurato in modo da utilizzare il gateway in entrata con l'etichetta meat, mentre gli altri due host virtuali utilizzano 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
  
    

Domande frequenti

Come funziona con la mia installazione Anthos Service Mesh/Istio esistente in un altro spazio dei nomi?
Purché Apigee sia 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 in entrata Apigee non memorizza alcuna configurazione in apiserver, quindi 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 i normali upgrade ibridi e le release delle 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 al gateway Apigee in entrata e segui le istruzioni nel post della community per abilitare la porta 80, questa non funzionerà con il gateway Apigee Ingress.