Questo argomento spiega come abilitare i client non SNI per l'utilizzo con Apigee Hybrid.
Come configurare un client non SNI
Questa sezione spiega come abilitare il supporto per i client non SNI (Server Name Indication) in Apigee Hybrid. Un client non SNI utilizza la porta 443 ed è necessario se vuoi integrare istanze di runtime ibrido con Google Cloud Load Balancing o per i client che non supportano SNI.- Crea una definizione di risorsa personalizzata (CRD) ApigeeRoute. Assicurati che
enableNonSniClientsia impostato sutrue:apiVersion: apigee.cloud.google.com/v1alpha1 kind: ApigeeRoute metadata: name: route_name namespace: apigee spec: hostnames: - "*" ports: - number: 443 protocol: HTTPS tls: credentialName: credential_name mode: SIMPLE #optional minProtocolVersion: TLS_AUTO selector: app: apigee-ingressgateway enableNonSniClient: true
Dove:
- route_name è il nome che assegni alla risorsa personalizzata (CR).
- credential_name è il nome di un secret Kubernetes di cui è stato eseguito il deployment nel cluster
che contiene le credenziali TLS per il tuo virtual host. Puoi trovare il nome della credenziale con
il seguente comando
kubectl:kubectl -n apigee get ApigeeRoutes -o=yaml | grep credentialName
hostnamesdeve essere impostato sul carattere jolly "*".
- Apri il file di override e apporta la modifica descritta nel passaggio successivo.
- Per ogni gruppo di ambienti, aggiungi il nome ApigeeRoute alla proprietà
additionalGateways. Ad esempio:virtualhosts: - name: default sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem additionalGateways: ["route_name"] - Salva il file CRD. Ad esempio:
ApigeeRoute.yaml - Applica la CRD al cluster:
kubectl apply -f ApigeeRoute.yaml -n apigee
- Applica la modifica a
virtualhosts. Se hai impostato la variabile di ambiente $ENV_GROUP nella shell, puoi utilizzarla nei comandi seguenti:helm upgrade $ENV_GROUP apigee-virtualhost/ \ --namespace apigee \ --atomic \ --set envgroup=$ENV_GROUP \ -f OVERRIDES_FILE.yaml
Note sull'utilizzo
- Cosa succede se il cluster ha più di un'organizzazione?
Poiché l'ingresso è a livello di cluster per una determinata porta (443) e può esserci una sola coppia chiave/certificato per la CRD ApigeeRoute, tutte le organizzazioni devono condividere la stessa coppia chiave/certificato.
- Cosa succede se il cluster ha più di un gruppo di ambienti? Funzionerà
se gli host virtuali condividono la stessa coppia chiave/certificato?
Tutti i nomi host in tutti i gruppi di ambienti devono utilizzare la stessa coppia chiave/certificato.
- Perché creiamo un ApigeeRoute anziché un gateway?
ApigeeRoutes può essere convalidato da Apigee, ma Gateway (il CRD Istio) non può. Tecnicamente, può funzionare anche Gateway, ma possiamo prevenire potenziali errori di configurazione (tramite un webhook di convalida).
- Come faccio a configurare i client non SNI per Apigee?
Se la tua istanza Apigee è esposta tramite un bilanciatore del carico Google, quest'ultimo supporta i client non SNI come spiegato nella documentazione di bilanciamento del carico. In caso contrario, se hai esposto un'istanza Apigee tramite un endpoint PSC interno o un VPC, per impostazione predefinita l'istanza Apigee supporta i client non SNI.