Scopri come accedere ai servizi Knative serving nel tuo cluster per i test prima di scegliere mappare un dominio personalizzato.
Per impostazione predefinita, i servizi di cui esegui il deployment nei cluster Knative serving sono impostati sul dominio di base nip.io
. Pertanto, se utilizzi il nome consigliato per
un gateway in entrata, puoi immediatamente testare i tuoi servizi e inviare richieste
senza ulteriori configurazioni. Ad esempio:
http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io
.
Tieni presente che possono verificarsi problemi relativi all'affidabilità delle richieste quando utilizzi i caratteri jolly DNS, incluso il dominio nip.io, che è un servizio di caratteri jolly DNS gratuito. Al contrario, l'impostazione e l'utilizzo di dominio personalizzato per i test può offrire una maggiore affidabilità.
Se vuoi, puoi anche accedere ai tuoi servizi tramite l'indirizzo IP esterno.
Utilizzo del dominio di prova nip.io
Per accedere a un servizio utilizzando il dominio di base predefinito nip.io
, puoi individuare il
dalla console Google Cloud oppure puoi generarlo manualmente.
Console
Nella console Google Cloud, vai alla pagina Knative serving.
Nell'elenco, fai clic sul servizio per cui vuoi ottenere l'URL.
Nella parte superiore della pagina viene visualizzato l'URL.
Ad esempio:
http://my-service.default.kuberun.11.111.11.111.nip.io
dove my-service è il nome del servizio Knative serving, default è lo spazio dei nomi e 11.111.11.111 è l'indirizzo IP del bilanciatore del carico esterno.
Manualmente
Per creare manualmente l'URL del tuo servizio, utilizza il nome del servizio, lo spazio dei nomi in cui è in esecuzione il servizio e l'indirizzo IP del bilanciatore del carico:
http://SERVICE.NAMESPACE.kuberun.EXTERNAL_IP.nip.io
Sostituisci:
- SERVICE_NAME con il nome del tuo servizio.
- NAMESPACE con lo spazio dei nomi in cui hai eseguito il deployment del servizio. Di
Per impostazione predefinita, il deployment dei servizi viene eseguito nello spazio dei nomi
default
. - EXTERNAL_IP con l'indirizzo IP esterno di del bilanciatore del carico.
Ad esempio, se hai un servizio denominato hello
nello spazio dei nomi default
e il tuo indirizzo IP esterno è 12.345.67.890
, l'URL potrebbe avere il seguente aspetto:
http://hello.default.kuberun.12.345.67.890.nip.io
Utilizzare l'indirizzo IP esterno
Se vuoi, puoi utilizzare l'indirizzo IP esterno del bilanciatore del carico per accedere ai tuoi servizi tramite i comandi cURL o configurando manualmente un servizio DNS jolly alternativo.
Prima di iniziare
Assicurati che gli strumenti a riga di comando Google Cloud CLI e kubectl siano installati e aggiornati:
Devi avere almeno il Sviluppatore Kubernetes Engine Ruolo Identity and Access Management o autorizzazioni equivalenti.
Recuperare l'indirizzo IP esterno
Quando viene creato il cluster GKE Enterprise, il controller ingress Istio crea un bilanciatore del carico di rete Google Cloud con un indirizzo IP disponibile pubblicamente.
Per configurare l'accesso al tuo servizio con cURL o un servizio DNS, devi prima ottieni l'indirizzo IP esterno del servizio bilanciatore del carico:
Console
Per recuperare l'indirizzo IP esterno del bilanciatore del carico dalla console Google Cloud:- Vai alla pagina GKE nella console Google Cloud:
Vai a GKE - Fai clic su Servizi e ingressi.
- Identifica il servizio che è Istio del cluster
in entrata. Il Tipo del servizio sarà Bilanciatore del carico esterno e il Nome sarà
istio-ingressgateway
. - Una volta trovato il servizio Istio Ingress del tuo cluster, copia il relativo
endpoint. Sarà l'indirizzo IP senza la porta
numero. Ad esempio, potresti vedere
00.000.000.000:11
elencato come endpoint, ma devi solo copiare00.000.000.000
.
kubectl
Per ottenere l'IP esterno per il bilanciatore del carico, esegui il seguente comando:
kubectl get svc istio-ingressgateway -n ASM-INGRESS-NAMESPACE
Sostituisci ASM-INGRESS-NAMESPACE con lo spazio dei nomi in cui
Si trova il traffico in entrata di Cloud Service Mesh. Specifica istio-system
se
ha installato Cloud Service Mesh utilizzando la configurazione predefinita.
L'output risultante è simile al seguente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) istio-ingressgateway LoadBalancer XX.XX.XXX.XX pending 80:32380/TCP,443:32390/TCP,32400:32400/TCP
dove il valore EXTERNAL-IP è l'indirizzo IP esterno del bilanciatore del carico.
Dopo aver ottenuto l'indirizzo IP esterno del bilanciatore del carico, puoi utilizzarlo nei comandi cURL o con un servizio DNS wildcard per accedere ai servizi di pubblicazione Knative.
Uso: cURL
Puoi utilizzare cURL
con il dominio di base predefinito nip.io
a cui inviare richieste
il tuo servizio.
Devi specificare l'indirizzo IP esterno del bilanciatore del carico insieme a nomi del tuo servizio e spazio dei nomi nel comando cURL:
curl --header 'Host: SERVICE_NAME.NAMESPACE.kuberun.EXTERNAL_IP.nip.io' EXTERNAL_IP
Sostituisci:
- SERVICE_NAME con il nome del tuo servizio Knative serving.
- NAMESPACE con lo spazio dei nomi in cui è in esecuzione il servizio.
- EXTERNAL_IP con l'indirizzo IP esterno di del bilanciatore del carico.
Esempio:
curl --header 'Host: my-service.default.kuberun.12.345.67.890.nip.io' http://12.345.67.890
Utilizzo di altri servizi con caratteri jolly DNS
Per impostazione predefinita, i servizi Knative serving utilizzano il servizio wildcard DNS nip.io. Tuttavia, puoi scegliere di utilizzare altri servizi come sslip.io. Per configurare altri servizi DNS jolly, devi prima ottenere l'indirizzo IP esterno del bilanciatore del carico e poi utilizzare questo indirizzo IP per configurare il servizio DNS jolly.
Configurazione del dominio del cluster
Knative serving utilizza il ConfigMap config-domain
per definire il dominio di base utilizzato da tutti i servizi Knative serving di cui è stato eseguito il deployment. Puoi
aggiornare il ConfigMap mediante la console Google Cloud o con i comandi kubectl
.
Console
Per cambiare il dominio di base predefinito da nip.io
a uno dei DNS
con caratteri jolly nella console Google Cloud:
Vai alla pagina Mappature dei domini di Knative serving nella console Google Cloud:
Seleziona Aggiungi mappatura > Aggiungi un dominio predefinito per il cluster.
Seleziona la casella di controllo accanto ad "Applica questa mappatura di dominio a tutti i servizi Knative serving di cui è stato eseguito il deployment in questo cluster".
Seleziona il tuo cluster dal menu a discesa.
Nel campo Dominio, inserisci il sito DNS jolly che vuoi utilizzare. Ad esempio:
sslip.io
kubectl
Per cambiare il dominio di base predefinito da nip.io
a uno dei DNS
per i siti con caratteri jolly, utilizza il comando:
kubectl patch configmap config-domain --namespace knative-serving --patch \ '{"data": {"kuberun.EXTERNAL_IP.nip.io": null, "DNS_SERVICE": ""}}'
Sostituisci
- EXTERNAL_IP con il bilanciatore del carico indirizzo IP esterno.
- DNS_SERVICE con il sito DNS jolly che stai utilizzando. Ad
esempio:
sslip.io
Il tuo servizio è ora disponibile all'indirizzo
http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.{DNS_SERVICE}
.