Prima di scegliere di mappare un dominio personalizzato, scopri come accedere ai servizi di gestione di Knative nel tuo cluster a scopo di test.
Per impostazione predefinita, i servizi di cui esegui il deployment nei cluster di pubblicazione Knative sono impostati sul dominio di base nip.io
. Pertanto, se utilizzi il nome consigliato per il gateway in entrata, puoi testare immediatamente i tuoi servizi e inviare richieste senza ulteriori configurazioni. Ad esempio:
http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io
.
Tieni presente che potrebbero verificarsi problemi relativi all'affidabilità delle richieste quando utilizzi i caratteri jolly DNS, ad esempio il dominio nip.io, che è un servizio con caratteri jolly DNS gratuito. Al contrario, configurare e utilizzare un dominio personalizzato per i test può offrire una maggiore affidabilità.
Se vuoi, puoi anche accedere ai servizi tramite l'indirizzo IP esterno.
Utilizzo del dominio di prova nip.io
Per accedere a un servizio utilizzando il dominio di base nip.io
predefinito, puoi individuare l'URL dalla console Google Cloud o creare l'URL manualmente.
Console
Nella console Google Cloud, vai alla pagina Gestione Knative.
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 di gestione Knative, default è lo spazio dei nomi e 11.111.11.111 è l'indirizzo IP del bilanciatore del carico esterno.
Manualmente
Per creare manualmente l'URL per il 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 servizio.
- NAMESPACE con lo spazio dei nomi in cui hai eseguito il deployment del servizio. Per impostazione predefinita, viene eseguito il deployment dei servizi nello spazio dei nomi
default
. - EXTERNAL_IP con l'indirizzo IP esterno 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 essere simile al seguente:
http://hello.default.kuberun.12.345.67.890.nip.io
Utilizzo dell'indirizzo IP esterno
Facoltativamente, puoi utilizzare l'indirizzo IP esterno del bilanciatore del carico per accedere ai servizi tramite i comandi cURL o configurando manualmente un servizio di caratteri jolly DNS alternativo.
Prima di iniziare
Assicurati che gli strumenti a riga di comando kubectl e Google Cloud CLI siano installati e aggiornati:
Devi disporre almeno del ruolo Sviluppatore Kubernetes Engine Identity and Access Management o delle autorizzazioni equivalenti.
Recupero dell'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 ottenere l'indirizzo IP esterno del servizio bilanciatore del carico:
Console
Per ottenere 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 Services and Ingress (Servizi e traffico in entrata).
- Identifica il servizio in entrata Istio del cluster. Il Tipo del servizio sarà Bilanciatore del carico
esterno, mentre il Nome sarà
istio-ingressgateway
. - Dopo aver trovato il servizio Istio in entrata del cluster, copia il relativo
endpoint. Questo sarà l'indirizzo IP senza il numero di porta. Ad esempio,
00.000.000.000:11
potrebbe essere elencato come endpoint, ma devi solo copiare00.000.000.000
.
kubectl
Per ottenere l'indirizzo IP esterno del bilanciatore del carico, esegui questo 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 Anthos Service Mesh. Specifica istio-system
se hai installato Anthos Service Mesh utilizzando la sua 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 con caratteri jolly DNS per accedere ai servizi di gestione Knative.
Uso: cURL
Puoi utilizzare i comandi cURL con il dominio di base nip.io
predefinito per inviare richieste al tuo servizio.
Devi specificare l'indirizzo IP esterno del bilanciatore del carico insieme ai nomi del servizio e dello 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 di pubblicazione Knative.
- NAMESPACE con lo spazio dei nomi in cui è in esecuzione il servizio.
- EXTERNAL_IP con l'indirizzo IP esterno 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 di gestione di Knative utilizzano il servizio caratteri jolly DNS nip.io. Tuttavia, puoi scegliere di utilizzare altri servizi come sslip.io. Per configurare altri servizi con caratteri jolly DNS, devi prima ottenere l'indirizzo IP esterno del bilanciatore del carico, quindi utilizzarlo per configurare il servizio di caratteri jolly DNS.
Configurazione del dominio del cluster
La pubblicazione di Knative utilizza l'oggetto ConfigMap config-domain
per definire il dominio
base per cui vengono utilizzati tutti i servizi di pubblicazione Knative di cui è stato eseguito il deployment. Puoi aggiornare il ConfigMap tramite la console Google Cloud o con i comandi kubectl
.
Console
Per cambiare il dominio di base predefinito da nip.io
a uno dei servizi jolly DNS nella console Google Cloud:
Vai alla pagina Mappature di domini di gestione con Knative nella console Google Cloud:
Seleziona Aggiungi mappatura > Aggiungi dominio predefinito del cluster
Seleziona la casella di controllo accanto ad "Applica questa mappatura di dominio a tutti i servizi di gestione Knative di cui è stato eseguito il deployment in questo cluster".
Seleziona il cluster dal menu a discesa.
Nel campo Dominio, inserisci il sito DNS con caratteri jolly che vuoi utilizzare. Ad esempio:
sslip.io
kubectl
Per cambiare il dominio di base predefinito da nip.io
a uno dei siti con caratteri jolly DNS, 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 l'indirizzo IP esterno del bilanciatore del carico.
- DNS_SERVICE con il sito DNS con caratteri jolly che stai utilizzando. Ad
esempio:
sslip.io
Il tuo servizio è ora disponibile all'indirizzo http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.{DNS_SERVICE}
.