Configura i domini personalizzati da utilizzare per accedere ai servizi di pubblicazione di Knative. Puoi mappare uno o più domini personalizzati a un singolo servizio oppure
un singolo dominio al tuo cluster utilizzato da tutti i servizi. Il mapping di dominio personalizzato può essere il dominio di base come your-domain.com
o un sottodominio, come your-subdomain.your-domain.com
.
Per impostazione predefinita, i servizi di cui esegui il deployment nei cluster di pubblicazione Knative sono impostati sul dominio di base nip.io
. In questo modo puoi testare immediatamente i tuoi
servizi su un URL come:
http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io
Scopri di più sui domini di test.
Prima di iniziare
Devi possedere o acquistare il dominio che vuoi mappare ai tuoi servizi. Puoi utilizzare qualsiasi registrar di nomi di dominio, ma se utilizzi Cloud Domains, il dominio viene verificato automaticamente per la pubblicazione con Knative, quindi non dovrai eseguire il processo di verifica del dominio.
Se vuoi registrare un dominio con Cloud Domains, consulta Registrare un dominio con Cloud Domains all'interno della console di servizio Knative.
Devi disporre almeno del ruolo Sviluppatore Kubernetes Engine Identity and Access Management o delle autorizzazioni equivalenti.
Per abilitare HTTPS con le tue mappature di dominio personalizzate, devi impostare i certificati TLS gestiti o configurare i tuoi certificati.
Per mappare un dominio personalizzato al tuo cluster o ai tuoi servizi in una rete interna privata, devi disabilitare i certificati TLS gestiti.
Mappatura di un dominio personalizzato
Puoi utilizzare la console Google Cloud o gli strumenti a riga di comando per mappare il dominio personalizzato.
In genere, per configurare un dominio personalizzato:
- (Facoltativo) Prenota l'indirizzo IP del bilanciatore del carico.
- Mappa i servizi o il cluster al dominio personalizzato nella gestione di Knative.
- Aggiorna i record DNS nel tuo registrar di domini.
Prenota l'indirizzo IP del bilanciatore del carico
Quando il servizio Knative è installato, il controller Ingress Istio crea un bilanciatore del carico con un indirizzo IP disponibile.
A seconda del cluster GKE, potrebbe essere necessario prenotare l'indirizzo IP del bilanciatore del carico per il controller Ingress Istio:
- Al di fuori di Google Cloud
- Consulta la documentazione relativa all'ambiente in cui esegui il cluster GKE per determinare come vengono gestiti gli indirizzi IP e se l'indirizzo IP del bilanciatore del carico è statico. Consulta anche le pagine di configurazione per il cluster GKE. Ad esempio, a seconda di come hai configurato il bilanciamento del carico per GKE su VMware, potresti aver già prenotato questi indirizzi IP.
- Su Google Cloud
Devi prenotare l'indirizzo IP esterno del bilanciatore del carico per garantire che rimanga lo stesso nel caso in cui il servizio in entrata venga eliminato. A seconda della configurazione del cluster, l'indirizzo IP è disponibile esternamente o solo per uso interno, ad esempio i cluster privati.
- Bilanciatori del carico interni su Google Cloud
- Consulta la pagina seguente per i dettagli su come prenotare l'indirizzo IP del bilanciatore del carico interno:Prenotare un indirizzo IP interno statico
- Bilanciatori del carico esterni su Google Cloud
- Per prenotare l'indirizzo IP del bilanciatore del carico esterno:
Ottieni l'indirizzo IP del 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.
- Vai alla pagina GKE nella console Google Cloud:
Prenota l'indirizzo IP come IP statico:
gcloud compute addresses create ADDRESS-NAME --addresses EXTERNAL-IP --region REGION
Sostituisci:
- ADDRESS-NAME con il nome che vuoi assegnare al tuo IP statico.
- EXTERNAL-IP con l'indirizzo IP esterno del bilanciatore del carico ottenuto nel passaggio precedente.
- REGION con la regione in cui si trova il cluster.
Dopo aver ottenuto l'indirizzo IP del bilanciatore del carico, puoi utilizzarlo per mappare il tuo dominio personalizzato:
Servizi di mappatura
Scegli uno dei seguenti metodi per mappare il tuo dominio personalizzato a un servizio di pubblicazione Knative. Ogni singolo servizio può essere mappato su più domini.
Console
Apri la pagina delle mappature dei domini nella console Google Cloud:
Tieni presente che se la finestra di visualizzazione è troppo piccola, il pulsante di mappatura dei domini personalizzati non viene visualizzato e devi fare clic sull'icona a forma di ellisse verticale con tre puntini nell'angolo a destra della pagina.
Fai clic su Aggiungi mappatura e seleziona Aggiungi mappatura di domini di servizio per mappare un dominio a un singolo servizio. Puoi mappare più domini a ciascun servizio.
Dall'elenco a discesa nel modulo Add Mapping (Aggiungi mappatura), seleziona il servizio a cui vuoi mappare il dominio personalizzato:
Inserisci il nome del dominio, Ad esempio,
your-domain.com
osubdomain.your-domain.com
. Requisiti per il dominio:- La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che si trova dopo il nome di dominio. Ad esempio,
users
è il percorso di base diyour-domain.com/users
. La pubblicazione Knative ti consente solo di mappare un dominio a/
, non a un percorso di base specifico. Pertanto, qualsiasi routing di percorso deve essere gestito utilizzando un router all'interno del container del servizio o utilizzando Firebase Hosting. -
Non puoi mappare il tuo dominio a un sottodominio che corrisponde all'URL dei tuoi servizi. Gli URL a un servizio sono definiti come
http://{service}.{namespace}.{your-domain.com}
; pertanto, se disponi di un servizio sutest.default.your-domain.com
, non devi creare un mapping di dominio allo stesso sottodominiotest.default.
your-domain.com
.
- La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che si trova dopo il nome di dominio. Ad esempio,
Fai clic su Continua.
Aggiorna i record DNS sul sito web del registrar di domini utilizzando i record DNS visualizzati nell'ultimo passaggio. Puoi visualizzare i record in qualsiasi momento facendo clic su DNS Record (Record DNS) nel menu azione "..." per una mappatura di dominio.
Fai clic su Fine.
gcloud
Mappa il servizio sul dominio personalizzato:
gcloud run domain-mappings create --service SERVICE --domain DOMAIN
Sostituisci:
- SERVICE con il nome del tuo servizio.
- DOMAIN con il tuo dominio personalizzato. Ad esempio,
your-domain.com
osubdomain.your-domain.com
. Requisiti per il dominio:- La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che si trova dopo il nome di dominio. Ad esempio,
users
è il percorso di base diyour-domain.com/users
. La pubblicazione Knative ti consente solo di mappare un dominio a/
, non a un percorso di base specifico. Pertanto, qualsiasi routing di percorso deve essere gestito utilizzando un router all'interno del container del servizio o utilizzando Firebase Hosting. -
Non puoi mappare il tuo dominio a un sottodominio che corrisponde all'URL dei tuoi servizi. Gli URL a un servizio sono definiti come
http://{service}.{namespace}.{your-domain.com}
; pertanto, se disponi di un servizio sutest.default.your-domain.com
, non devi creare un mapping di dominio allo stesso sottodominiotest.default.
your-domain.com
.
- La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che si trova dopo il nome di dominio. Ad esempio,
Ora che il dominio personalizzato è mappato alla gestione di Knative, devi aggiungere i record DNS presso il tuo registrar di domini.
Mappatura dei cluster
Scegli uno dei seguenti metodi per mappare il dominio personalizzato al cluster:
Console
Apri la pagina delle mappature dei domini nella console Google Cloud:
Tieni presente che se la finestra di visualizzazione è troppo piccola, il pulsante di mappatura dei domini personalizzati non viene visualizzato e devi fare clic sull'icona a forma di ellisse verticale con tre puntini nell'angolo a destra della pagina.
Fai clic su Aggiungi mappatura e seleziona Aggiungi dominio predefinito per mappare un dominio a tutti i servizi nel tuo cluster. Per impostazione predefinita, i nuovi servizi di cui esegui il deployment utilizzano il dominio mappato.
Fai clic sulla casella di controllo per applicare il nuovo mapping di dominio a tutti i servizi esistenti nel cluster.
Dall'elenco a discesa nel modulo Add Mapping (Aggiungi mappatura), seleziona il cluster a cui vuoi mappare il dominio personalizzato:
Inserisci il nome del dominio, Ad esempio,
your-domain.com
osubdomain.your-domain.com
. Requisiti per il dominio:- La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che si trova dopo il nome di dominio. Ad esempio,
users
è il percorso di base diyour-domain.com/users
. La pubblicazione Knative ti consente solo di mappare un dominio a/
, non a un percorso di base specifico. Pertanto, qualsiasi routing di percorso deve essere gestito utilizzando un router all'interno del container del servizio o utilizzando Firebase Hosting. -
Non puoi mappare il tuo dominio a un sottodominio che corrisponde all'URL dei tuoi servizi. Gli URL a un servizio sono definiti come
http://{service}.{namespace}.{your-domain.com}
; pertanto, se disponi di un servizio sutest.default.your-domain.com
, non devi creare un mapping di dominio allo stesso sottodominiotest.default.
your-domain.com
.
- La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che si trova dopo il nome di dominio. Ad esempio,
Fai clic su Continua.
Aggiorna i record DNS sul sito web del registrar di domini utilizzando i record DNS visualizzati nell'ultimo passaggio. Puoi visualizzare i record in qualsiasi momento facendo clic su DNS Record (Record DNS) nel menu azione "..." per una mappatura di dominio.
Fai clic su Fine.
kubectl
Esegui questo comando per rimuovere il dominio di base esistente dal ConfigMap di
config-domain
e sostituirlo con il tuo dominio personalizzato:kubectl patch configmap config-domain --namespace knative-serving --patch \ '{"data": {"nip.io": null, "DOMAIN": ""}}'
Sostituisci DOMAIN con il tuo dominio personalizzato. Ad esempio,
your-domain.com
osubdomain.your-domain.com
. Requisiti per il dominio:- La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che si trova dopo il nome di dominio. Ad esempio,
users
è il percorso di base diyour-domain.com/users
. La pubblicazione Knative ti consente solo di mappare un dominio a/
, non a un percorso di base specifico. Pertanto, qualsiasi routing di percorso deve essere gestito utilizzando un router all'interno del container del servizio o utilizzando Firebase Hosting. -
Non puoi mappare il tuo dominio a un sottodominio che corrisponde all'URL dei tuoi servizi. Gli URL a un servizio sono definiti come
http://{service}.{namespace}.{your-domain.com}
; pertanto, se disponi di un servizio sutest.default.your-domain.com
, non devi creare un mapping di dominio allo stesso sottodominiotest.default.
your-domain.com
.
- La mappatura del percorso di base non è supportata. Il termine percorso di base si riferisce al nome del percorso dell'URL che si trova dopo il nome di dominio. Ad esempio,
Ora che il dominio personalizzato è mappato alla gestione di Knative, devi aggiungere i record DNS presso il tuo registrar di domini.
Aggiungi i record DNS presso il registrar del dominio
Dopo aver mappato il servizio a un dominio personalizzato in Knative, devi aggiornare i record DNS presso il registrar del dominio. Per comodità, la funzionalità di gestione Knative genera e visualizza i record DNS che devi inserire. Affinché la mappatura venga applicata, devi aggiungere questi record che puntano al servizio di pubblicazione Knative presso il tuo registrar di domini.
Se utilizzi Cloud DNS come provider DNS, consulta Aggiunta di un record.
Recupera le informazioni sui record DNS per le mappature di dominio utilizzando:
Console
Vai alla pagina Mappature dei domini di pubblicazione Knative:
Fai clic sull'icona a forma di ellisse verticale con tre puntini a destra del servizio, quindi fai clic su RECORD DNS per visualizzare tutti i record DNS:
gcloud
gcloud run domain-mappings describe --domain DOMAIN
Sostituisci DOMAIN con il tuo dominio personalizzato. Ad esempio,
your-domain.com
osubdomain.your-domain.com
.Sono necessari tutti i record restituiti sotto l'intestazione
resourceRecords
.Accedi al tuo account nel registrar di domini e apri la pagina di configurazione DNS.
Individua la sezione dei record host nella pagina di configurazione del tuo dominio e aggiungi ogni record di risorse ricevuto quando hai mappato il dominio al servizio di gestione Knative.
Quando aggiungi ciascuno dei record DNS precedenti all'account del provider DNS:
- Seleziona il tipo restituito nel record DNS nel passaggio precedente:
A
,AAAA
oCNAME
. - Utilizza il nome
www
per mapparewww.your-domain.com
. - Utilizza il nome
@
per mappareyour-domain.com
. - Utilizza il carattere jolly
*
per mapparlo a*.your-domain.com
.
- Seleziona il tipo restituito nel record DNS nel passaggio precedente:
Salva le modifiche nella pagina di configurazione DNS dell'account del tuo dominio. Nella maggior parte dei casi, l'applicazione di queste modifiche richiede solo pochi minuti, ma in alcuni casi potrebbero essere necessarie diverse ore, a seconda del registrar e della durata (TTL) di eventuali record DNS precedenti per il dominio. Puoi utilizzare uno strumento
dig
, ad esempio questa versione online didig
, per verificare che i record DNS siano stati aggiornati correttamente.Per verificare l'efficacia, accedi al tuo servizio dal nuovo URL, ad esempio
https://www.your-domain.com
. Tieni presente che l'emissione del certificato SSL/TLS gestito potrebbe richiedere diversi minuti.
Aggiunta di proprietari di dominio verificati ad altri utenti o account di servizio
Quando un utente verifica un dominio, quel dominio viene verificato solo in base all'account di quell'utente. Ciò significa che solo questo utente può aggiungere altre mappature di dominio che utilizzano quel dominio. Pertanto, per consentire ad altri utenti di aggiungere mappature che utilizzano quel dominio, devi aggiungerli come proprietari verificati.
Se devi aggiungere i proprietari verificati del tuo dominio ad altri utenti o account di servizio, puoi aggiungere l'autorizzazione tramite la pagina Search Console:
Vai a questo indirizzo nel browser web:
In Proprietà, fai clic sul dominio a cui vuoi aggiungere un account utente o di servizio.
Scorri verso il basso fino all'elenco Proprietari verificati, fai clic su Aggiungi un proprietario, quindi inserisci l'indirizzo email di un Account Google o l'ID di un account di servizio.
Per visualizzare un elenco degli account di servizio, apri la pagina Account di servizio nella console Google Cloud:
Registrazione di un dominio con Cloud Domains all'interno della console di gestione di Knative
Per registrare un dominio con Cloud Domains dall'interno della console di gestione di Knative:
Vai alla pagina Mappature dei domini di pubblicazione Knative:
Fai clic su Registra dominio.
Completa il processo di registrazione seguendo le istruzioni per Registrare un dominio.
Completa i passaggi precedenti in questa pagina per mappare il dominio per la gestione con Knative, quindi aggiungere i record DNS presso il registrar di domini.
Risoluzione dei problemi
Visualizza i problemi comuni in Risoluzione dei problemi relativi a domini personalizzati e TLS gestito.