Gestione del gateway di ingresso Apigee

A partire dalla versione 1.8 di Apigee hybrid, Apigee hybrid utilizza il gateway in entrata Apigee per fornire il gateway in entrata per hybrid.

Configurazione del gateway in entrata 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.
    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 i seguenti requisiti:
    • Avere una lunghezza massima di 17 caratteri
    • Contenere solo caratteri alfanumerici minuscoli, '-' o '.'
    • Iniziare con un carattere alfanumerico
    • Terminare 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 nell'installazione. Consulta ingressGateways[].replicaCountMin e ingressGateways[].replicaCountMax nel riferimento per le proprietà di configurazione.
  • CPU_COUNT_REQ e MEMORY_REQ La richiesta di CPU e memoria per ogni replica del gateway in entrata Apigee nell'installazione.

    Consulta ingressGateways[].resources.requests.cpu e ingressGateways[].resources.requests.memory nel Riferimento per le proprietà di configurazione.

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

    Consulta ingressGateways[].resources.limits.cpu e ingressGateways[].resources.limits.memory nel Riferimento per le proprietà di configurazione.

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (facoltativo):

    Si tratta di una coppia chiave-valore che fornisce annotazioni per il servizio di ingresso predefinito. Le annotazioni vengono utilizzate dalla tua piattaforma cloud per aiutare 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 piattaforma a piattaforma. Consulta la documentazione della piattaforma per le annotazioni richieste e suggerite.

    Consulta ingressGateways[].svcAnnotations in Riferimento per le 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 in Riferimento per le 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:

Scalare il gateway in entrata Apigee:

Aggiorna le seguenti proprietà nel file di override.

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

Per maggiori dettagli, vedi ingressGateways nel riferimento alle proprietà di configurazione.

Applica le modifiche con apigeectl apply --org.

Aggiornamento dell'allocazione delle risorse

Aggiorna le seguenti proprietà nel file di override.

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

Per maggiori dettagli, vedi ingressGateways nel riferimento alle proprietà di configurazione.

Applica le modifiche con apigeectl apply --org.

Aggiornamento del servizio gateway in entrata Apigee

Aggiorna le seguenti proprietà nel file di override.

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

Per maggiori dettagli, vedi ingressGateways nel riferimento alle proprietà di configurazione.

Applica le modifiche con apigeectl apply --org.

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

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

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

Applica le modifiche con apigeectl apply --org.

Configura TLS e mTLS

Consulta Configurazione di TLS e mTLS sul gateway in entrata.

Abilitazione di client non SNI

Consulta Abilitare client non SNI e HTTP.

Installazione di gateway in entrata Apigee aggiuntivi

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.

Mappatura degli host virtuali ai deployment del gateway in entrata Apigee

Puoi utilizzare le etichette dei selettori per mappare un host virtuale a un deployment del gateway in entrata Apigee. Nell'esempio seguente, l'host virtuale spam-vh è configurato per essere eseguito sul gateway in entrata etichettato meat, mentre gli altri due host virtuali vengono eseguiti sul 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 in entrata Apigee

Apigee hybrid supporta le suite di crittografia TLS v1.2. Se utilizzi TLS v1.0 o v1.1, puoi utilizzare la proprietà virtualhosts.cipherSuites nel file di override per aggiungere ciphersuite 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 degli accessi in entrata

Puoi personalizzare la destinazione e il formato del log di accesso del gateway in entrata 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 disattivare la registrazione dell'accesso al gateway in entrata Apigee assegnando istiod.accessLogFile e un valore vuoto. Ad esempio:

istiod:
  accessLogFile: ''

Domande frequenti

Come funziona con l'installazione esistente di Anthos Service Mesh/Istio in un altro spazio dei nomi?
Se Apigee è installato in uno spazio dei nomi dedicato, il gateway Ingress di Apigee può essere eseguito insieme a un'installazione di Anthos Service Mesh/Istio già esistente nel cluster. Il gateway di ingresso Apigee non memorizza alcuna configurazione in apiserver, quindi non si verificheranno conflitti.
Chi è responsabile dell'upgrade dei componenti del gateway in entrata Apigee?
L'upgrade dei componenti del gateway in entrata Apigee viene gestito da Apigee e avviene durante gli upgrade ibridi e le release di patch regolari.
Come faccio a esporre la porta 80 nel gateway in entrata Apigee?
La porta 80 non è supportata dal gateway di ingresso Apigee. Se esegui la migrazione da Anthos Service Mesh al gateway in entrata Apigee e hai seguito le istruzioni riportate nel post della community per abilitare la porta 80, questa non funzionerà con il gateway in entrata Apigee.