Utilizzo dei domini di test

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 impostato 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 esserci problemi relativi all'affidabilità delle richieste quando vengono utilizzati caratteri jolly DNS, tra cui 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à.

Facoltativamente, puoi accedere ai tuoi servizi anche tramite la 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

  1. Nella console Google Cloud, vai alla pagina Knative serving.

    Vai a Knative serving

  2. Nell'elenco, fai clic sul servizio per cui vuoi ottenere l'URL.

  3. 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 dell'interfaccia con il bilanciatore del carico di rete passthrough esterno regionale.

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 essere simile a:

http://hello.default.kuberun.12.345.67.890.nip.io

Utilizzare l'indirizzo IP esterno

Facoltativamente, puoi utilizzare l'indirizzo IP esterno del bilanciatore del carico per accedere i tuoi servizi tramite cURL o tramite i comandi configurando manualmente un servizio di caratteri jolly DNS alternativo.

Prima di iniziare

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 una posizione Indirizzo IP.

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 recuperare l'indirizzo IP esterno del bilanciatore del carico dalla console Google Cloud:
  1. Vai alla pagina GKE nella console Google Cloud:
    Vai a GKE
  2. Fai clic su Servizi e in entrata.
  3. Identifica il servizio che è Istio del cluster in entrata. Il Tipo del servizio sarà Carico esterno. bilanciatore del carico, mentre il Nome sarà istio-ingressgateway.
  4. Una volta trovato il servizio in entrata Istio del cluster, copiane il Endpoint. Sarà l'indirizzo IP senza la porta numero. Ad esempio, potresti vedere 00.000.000.000:11 elencato come un ma devi solo copiare 00.000.000.000.

kubectl

Per ottenere l'IP esterno per il 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 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 è il tuo indirizzo IP esterno del modulo di Google Cloud.

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 servizi Knative serving.

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 DNS nip.io carattere jolly. 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 tuo carico e utilizzare questo indirizzo IP per configurare il servizio di carattere jolly DNS.

Configurazione del dominio del cluster

Knative serving usa gli oggetti ConfigMap config-domain per definire la base per il quale vengono utilizzati tutti i servizi Knative serving di cui hai 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:

  1. Vai alla pagina Mappature di domini di Knative serving nella Console Google Cloud:

    Vai a Mappature di domini

  2. Seleziona Aggiungi mappatura > Aggiungi dominio predefinito del cluster

  3. Seleziona la casella di controllo accanto ad "Applica questa mappatura di dominio a tutti Servizi Knative serving di cui è stato eseguito il deployment in questo cluster."

  4. Seleziona il cluster dal menu a discesa.

  5. Nel campo Domain (Dominio), inserisci il sito DNS con caratteri jolly che vuoi utilizzare. Per 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 con caratteri jolly che stai utilizzando. Per esempio: sslip.io

Il tuo servizio è ora disponibile all'indirizzo http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.{DNS_SERVICE}.