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
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
eingressGateways[].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
eingressGateways[].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
eingressGateways[].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. 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 documentazione della piattaforma per le annotazioni richieste e suggerite.
ConsultaingressGateways[].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 con apigeectl
.
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --org
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 con apigeectl apply --org
.
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 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
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 con apigeectl apply --org
.
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 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 1.0 o 1.1, puoi utilizzare la proprietà virtualhosts.cipherSuites
nel file delle sostituzioni per aggiungere suite di crittografia personalizzate al deployment del gateway di ingresso Apigee.
Ad esempio, per supportare 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" ...
Ad esempio, per supportare TLS 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" ...
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 Anthos 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 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 del gateway di ingresso Apigee?
- La gestione dell'upgrade dei componenti del gateway di ingresso Apigee è a cura di Apigee e avviene durante gli upgrade ibridi regolari e le release delle patch.
- 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 Anthos Service Mesh a Gateway di ingresso Apigee e hai seguito le istruzioni riportate nel post della community per attivare la porta 80, questa non funzionerà con Gateway di ingresso Apigee.