- v1.9 (latest)
- v1.8
- v1.7
- List of supported versions
- v1.6
- v1.5
- v1.4
- v1.3
- v1.2
- v1.1
Supported versions:
Unsupported versions:
Questo passaggio spiega come configurare il servizio Kubernetes per il gateway Ingress Ingress. Il servizio Kubernetes è necessario per ogni deployment in entrata per ottenere un indirizzo IP che possa essere esposto. Le chiamate client ai proxy richiamano un nome host che verrà risolto in questo indirizzo IP.
Opzioni per i servizi Kubernetes per il gateway Ingress Ingress
Esistono due opzioni per fornire un servizio Kubernetes per assegnare l'indirizzo IP ...
- Crea un servizio Kubernetes personalizzato per ogni gateway Ingress in entrata (consigliato).
- Utilizza il servizio Kubernetes predefinito.
Crea il tuo servizio Kubernetes
Per gli ambienti di produzione, Apigee consiglia di creare un servizio Kubernetes personalizzato per ogni gateway in entrata.
- Apigee elimina il servizio predefinito, ma non elimina il servizio Kubernetes personalizzato al momento della pulizia. Pertanto, l'indirizzo IP non verrà rilasciato dopo la reinstallazione di Apigee hybrid.
- Per le piattaforme non su Google Cloud, come EKS, AKS e OpenMaiusc, devi personalizzare il servizio Kubernetes in modo che funzioni con il cloud provider. Pertanto, è meglio creare un servizio Kubernetes personalizzato anziché utilizzare il servizio predefinito, perché Apigee non supporta tutte le personalizzazioni del servizio Kubernetes predefinito.
Segui questi passaggi per configurare e instradare il traffico al nuovo gateway in entrata.
- Crea un servizio Kubernetes con le etichette del selettore di pod obbligatorie,
app
,ingress_name
eorg
. Queste etichette sono già presenti nei pod del gateway Ingress Ingress.Crea un file di servizio utilizzando il seguente modello:
apiVersion: v1 kind: Service metadata: name: SERVICE_NAME namespace: apigee spec: ports: - name: status-port port: 15021 protocol: TCP targetPort: 15021 - name: https port: 443 protocol: TCP targetPort: 8443 selector: app: apigee-ingressgateway #required ingress_name: INGRESS_NAME org: ORG_NAME type: LoadBalancer loadBalancerIP: LOAD_BALANCER_IP
- SERVICE_NAME è un nome utilizzato per identificare questo servizio. Ad esempio:
apigee-prod-1
. - INGRESS_NAME è il nome di questo gateway in entrata Apigee. Deve corrispondere al nome
fornito per
ingressGateways.name
nel fileoverrides.yaml
. Per scoprire di più, consultaingressGateways
nel riferimento alle proprietà di configurazione. - ORG_NAME è il nome dell'organizzazione Apigee. Deve corrispondere al nome
fornito per
org
nel fileoverrides.yaml
. Per scoprire di più, consultaorg
nel riferimento alle proprietà di configurazione. - LOAD_BALANCER_IP è l'indirizzo IP del bilanciatore del carico.
Se hai un indirizzo IP riservato al bilanciatore del carico, inseriscilo.
Se non hai ancora un indirizzo IP prenotato, puoi utilizzare quello restituito dal servizio Apigee Ingress in entrata. Utilizza
EXTERNAL-IP
restituito dal seguente comando:kubectl get svc -n apigee -l app=apigee-ingressgateway
Il gateway Ingress Ingress espone le seguenti porte:
Porta Descrizione 443 Traffico di runtime. 15021 Controllo di integrità. status-port
espone un endpoint/healthz/ready
che può essere utilizzato con i controlli di integrità di GKE Ingress. - SERVICE_NAME è un nome utilizzato per identificare questo servizio. Ad esempio:
- Crea il servizio applicando
SERVICE_FILENAME.yaml
:kubectl apply -f SERVICE_FILENAME.yaml
- Trova l'IP esterno del gateway Ingress Ingress con il seguente comando:
kubectl get svc -n apigee SERVICE_NAME
L'output dovrebbe avere l'aspetto seguente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE apigee-ingressgateway-prod-hybrid-37a39bd LoadBalancer 192.0.2.123 233.252.0.123 15021:32049/TCP,80:31624/TCP,443:30723/TCP 16h
-
Disabilita il bilanciatore del carico per il servizio gateway Ingress Ingress predefinito:
- Aggiorna la proprietà
ingressGateways[].svcType
inClusterIP
nel file di override:ingressGateways: svcType: ClusterIP
-
Applica le modifiche con
apigeectl apply --org
.${APIGEECTL_HOME}/apigeectl apply -f ${HYBRID_FILES}/overrides/overrides.yaml
Per saperne di più, consulta Disabilita il bilanciatore del carico per il servizio gateway Ingress Ingress predefinito.
- Aggiorna la proprietà
Testa il gateway in entrata effettuando una chiamata per il controllo di integrità.
curl -H 'User-Agent: GoogleHC/' https://DOMAIN/healthz/ingress -k \ --resolve "DOMAIN:443:INGRESS_IP_ADDRESS"
Dove
- DOMAIN è il dominio che hai fornito come nome host per il gruppo di ambienti creato nella configurazione di progetti e organizzazioni - Passaggio 3: crea un gruppo di ambiente.
- INGRESS_IP_ADDRESS è l'indirizzo IP in entrata, ad esempio
233.252.0.123
.
In caso di esito positivo, il comando restituisce:
Apigee Ingress is healthy
- Utilizza questo indirizzo IP per aggiornare il record DNS (di solito un record
A
oCNAME
) nel registrar o nel provider DNS.
Utilizza il servizio Kubernetes predefinito
Per gli ambienti non di produzione o per testare il traffico iniziale tramite il gateway Ingress in entrata, Apigee hybrid fornisce un servizio Kubernetes predefinito per ogni deployment in entrata.
Puoi apportare modifiche di configurazione limitate al servizio predefinito nel file overrides.yaml
. Per le opzioni di configurazione disponibili, consulta la pagina Gestire il gateway Ingress Ingress. Ad esempio, puoi aggiungere annotazioni.
Per gli ambienti di produzione è consigliabile fornire un servizio Kubernetes per il traffico in entrata. Segui i passaggi descritti in Creare il proprio servizio Kubernetes.
- Trova l'IP esterno del servizio Ingress Ingress predefinito con il seguente comando:
kubectl get svc -n apigee -l app=apigee-ingressgateway
L'output dovrebbe avere l'aspetto seguente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE apigee-ingressgateway-prod-hybrid-37a39bd LoadBalancer 192.0.2.123 233.252.0.123 15021:32049/TCP,80:31624/TCP,443:30723/TCP 16h
Testa il gateway in entrata effettuando una chiamata per il controllo di integrità.
curl -H 'User-Agent: GoogleHC/' https://DOMAIN/healthz/ingress -k \ --resolve "DOMAIN:443:INGRESS_IP_ADDRESS"
Dove
- DOMAIN è il dominio che hai fornito come nome host per il gruppo di ambienti creato nella configurazione di progetti e organizzazioni - Passaggio 3: crea un gruppo di ambiente.
- INGRESS_IP_ADDRESS è l'indirizzo IP in entrata, ad esempio
233.252.0.123
.
In caso di esito positivo, il comando restituisce:
Apigee Ingress is healthy
- Utilizza questo indirizzo IP per aggiornare il record DNS (di solito un record
A
oCNAME
) nel registrar o nel provider DNS.