Scopri come accedere ai servizi Knative serving nel tuo cluster a scopo di test prima di scegliere di 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 il gateway in entrata, puoi testare immediatamente i tuoi servizi e inviare richieste senza configurazioni aggiuntive. Ad esempio: http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io.
Tieni presente che potrebbero verificarsi problemi di affidabilità delle richieste quando utilizzi i caratteri jolly DNS, incluso il dominio nip.io, che è un servizio di caratteri jolly DNS senza costi. Al contrario, la configurazione e l'utilizzo di un dominio personalizzato per i test possono offrire una maggiore affidabilità.
Facoltativamente, puoi accedere ai tuoi servizi anche tramite l' indirizzo IP esterno.
Utilizzo del dominio di test nip.io
Per accedere a un servizio utilizzando il dominio di base predefinito nip.io, puoi individuare l'
URL all'interno della console Google Cloud oppure puoi crearlo manualmente.
Console
Nella Google Cloud console, vai alla pagina Knative serving.
Nell'elenco, fai clic sul servizio per il quale 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.ioDove 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 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. Per impostazione predefinita, i servizi vengono sottoposti a deployment 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 tuoi servizi tramite cURL o configurando manualmente un servizio di caratteri jolly DNS alternativo.
Prima di iniziare
Assicurati che gli strumenti a riga di comando Google Cloud CLI e kubectl siano installati e aggiornati:
Devi disporre almeno del ruolo Identity and Access Management _Kubernetes Engine Developer_ o di autorizzazioni equivalenti.
Recupero dell'indirizzo IP esterno
Quando viene creato il cluster GKE Enterprise, il controller Ingress di Istio crea un Google Cloud bilanciatore del carico di rete 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 del bilanciatore del carico:
Console
Per recuperare l'indirizzo IP esterno del bilanciatore del carico dalla Google Cloud console:- Vai alla pagina GKE nella Google Cloud console:
Vai a GKE - Fai clic su Servizi e ingress.
- Identifica il servizio che è l'ingresso Istio
del tuo cluster. Il Tipo del servizio sarà Bilanciatore del carico
esterno e il Nome sarà
istio-ingressgateway. - Una volta trovato il servizio di ingresso Istio del tuo cluster, copia il relativo
Endpoint. Questo sarà l'indirizzo IP senza il numero di porta. Ad esempio, potresti vedere
00.000.000.000:11elencato come un endpoint, ma devi copiare solo00.000.000.000.
kubectl
Per ottenere l'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 l'ingresso di Cloud Service Mesh. Specifica istio-system se hai 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 di caratteri jolly DNS per accedere ai tuoi servizi Knative serving.
Utilizzo di cURL
Puoi utilizzare cURL
cURL con il dominio di base nip.io predefinito per inviare richieste a
l tuo servizio.
Nel comando cURL, specifica l'indirizzo IP esterno del bilanciatore del carico insieme ai nomi del servizio e dello spazio dei nomi:
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 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 di caratteri jolly DNS
Per impostazione predefinita, i tuoi servizi Knative serving utilizzano il servizio di caratteri jolly DNS nip.io. Tuttavia, puoi scegliere di utilizzare altri servizi come sslip.io. Per configurare altri servizi di caratteri jolly DNS devi prima ottenere l'indirizzo IP esterno del bilanciatore del carico e poi utilizzarlo per configurare il servizio di caratteri jolly DNS.
Configurazione del dominio del cluster
Knative serving utilizza il ConfigMap config-domain per definire il dominio di base per cui vengono utilizzati tutti i servizi Knative serving di cui è stato eseguito il deployment. Puoi
aggiornare questo ConfigMap tramite la Google Cloud console o con i kubectl comandi.
Console
Per modificare il dominio di base predefinito da nip.io a uno dei servizi di caratteri jolly DNS
nella Google Cloud console:
Vai alla pagina Mapping di dominio di Knative serving nella Google Cloud console:
Seleziona Aggiungi mapping > Aggiungi un dominio predefinito per il cluster.
Seleziona la casella di controllo accanto a "Applica questa mappatura di dominio a tutti i servizi Knative serving 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 modificare il dominio di base predefinito da nip.io a uno dei siti DNS 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
Il tuo servizio è ora disponibile all'indirizzo http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.{DNS_SERVICE}.