Gestione del gateway di ingresso Apigee

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 i seguenti requisiti:
    • Avere una lunghezza massima di 17 caratteri
    • Contenere solo caratteri alfanumerici minuscoli, "-" o "."
    • Deve iniziare con un carattere alfanumerico
    • Deve 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 di ingresso Apigee nella tua 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 di ingresso Apigee nella tua 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 di ingresso 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 importazione predefinito. La piattaforma cloud utilizza le annotazioni 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. Consulta la documentazione della piattaforma per le annotazioni richieste e suggerite.

    Consulta ingressGateways[].svcAnnotations nel riferimento per le proprietà di configurazione.
  • SVC_LOAD_BALANCER_IP (facoltativo). Sulle piattaforme che supportano l'indicazione dell'indirizzo IP del bilanciatore del carico, il bilanciatore del carico verrà creato con questo indirizzo IP. Su piattaforme che non consentono 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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

Attività di gestione

Alcune attività di gestione comuni per il gateway di ingresso 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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

Aggiornamento dell'allocazione delle risorse

Aggiorna le seguenti proprietà nel file delle sostituzioni.

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

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

Applica le modifiche:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

Configura TLS e mTLS

Consulta Configurazione di TLS e mTLS sul gateway in entrata.

Abilitazione di client non SNI

Consulta Attivare client non SNI e HTTP.

Installazione di gateway di ingresso Apigee aggiuntivi

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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

Mappatura degli host virtuali ai deployment del gateway di ingresso Apigee

Puoi utilizzare le etichette dei selettori per mappare un host virtuale a un deployment del gateway di ingresso Apigee. Nel seguente esempio, l'host virtuale spam-vh è configurato per essere eseguito sul gateway di ingresso etichettato meat e gli altri due host virtuali vengono eseguiti sul gateway di ingresso fruit. I gateway di ingresso devono essere etichettati correttamente, come spiegato in Installazione di gateway Cloud 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

Puoi aggiungere suite di crittografia personalizzate al deployment del gateway di ingresso Apigee con la proprietà virtualhosts.cipherSuites nel file delle sostituzioni.

Consulta virtualhosts.cipherSuites per le suite di crittografia predefinite abilitate in Apigee hybrid.

Puoi attivare le versioni precedenti di TLS con la proprietà virtualhosts.minTLSProtocolVersion e aggiungere suite di crittografia personalizzate al deployment del gateway di ingresso Apigee con la proprietà virtualhosts.cipherSuites nel file delle sostituzioni.

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

Personalizzare i log di accesso di Ingress

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 disattivare la registrazione degli accessi al gateway di ingresso Apigee assegnando istiod.accessLogFile e un valore vuoto. Ad esempio:

istiod:
  accessLogFile: ''

Domande frequenti

Come funziona con la mia installazione esistente di Cloud Service Mesh/Istio in un altro spazio dei nomi?
Se Apigee è installato in uno spazio dei nomi dedicato, il gateway di ingresso Apigee può essere eseguito insieme a un'installazione di Cloud 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 del gateway di ingresso Apigee?
Apigee si occupa degli upgrade dei componenti del gateway di ingresso Apigee, che vengono eseguiti durante gli upgrade e i rilasci di patch regolari di hybrid.
Come faccio a esporre la porta 80 nel gateway di ingresso Apigee?
La porta 80 non è supportata dal gateway di ingresso Apigee. Se esegui la migrazione da Cloud Service Mesh a Apigee Ingress Gateway e hai seguito le istruzioni riportate nel post della community per attivare la porta 80, questa non funzionerà con Apigee Ingress Gateway.