Configura i domini personalizzati da utilizzare per accedere ai servizi Knative serving. Puoi mappare uno o più domini personalizzati a un singolo servizio oppure mappare un singolo dominio al tuo cluster utilizzato da tutti i servizi. La mappatura del dominio personalizzato può essere il dominio di base, ad esempio your-domain.com
, o un sottodominio, ad esempio your-subdomain.your-domain.com
.
Per impostazione predefinita, i servizi di cui esegui il deployment nei cluster Knative serving sono impostati sul dominio di base nip.io
. In questo modo puoi testare immediatamente i tuoi servizi all'URL seguente:
http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io
Scopri di più sui domini di test.
Prima di iniziare
Devi disporre 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 di Knative, quindi non dovrai seguire la procedura 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 di Identity and Access Management o di autorizzazioni equivalenti.
Per attivare HTTPS con le mappature dei tuoi domini personalizzati, devi configurare 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 disattivare 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 tuo 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 in Knative serving.
- Aggiorna i record DNS nel tuo registrar di domini.
Prenota l'indirizzo IP del bilanciatore del carico
Quando Knative Serving è installato, il controller ingress Istio crea un bilanciatore del carico con un indirizzo IP disponibile.
A seconda del cluster GKE, potrebbe essere necessario riservare l'indirizzo IP del bilanciatore del carico per il controller ingress Istio:
- Esterno Google Cloud
- Consulta la documentazione dell'ambiente in cui esegui il tuo cluster GKE per determinare in che modo vengono gestiti gli indirizzi IP e se l'indirizzo IP del bilanciatore del carico è statico. Consulta anche le pagine di configurazione del tuo cluster GKE. Ad esempio, a seconda di come hai configurato il bilanciamento del carico per Google Distributed Cloud, potresti aver già riservato questi indirizzi IP.
- Il giorno Google Cloud
Devi prenotare l'indirizzo IP esterno del bilanciatore del carico per assicurarti che rimanga invariato se il servizio di ingresso viene eliminato. A seconda della configurazione del cluster, l'indirizzo IP è disponibile esternamente o solo internamente, ad esempio per i cluster privati.
- Bilanciatori del carico interni attivi Google Cloud
- Per informazioni dettagliate su come prenotare l'indirizzo IP del bilanciatore del carico interno, consulta la pagina seguente: Prenotazione di un indirizzo IP interno statico
- Bilanciatori del carico esterni attivi Google Cloud
- Per prenotare l'indirizzo IP del bilanciatore del carico esterno:
Ottieni l'indirizzo IP del 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 rappresenta 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 Istio Ingress del tuo cluster, copia il relativo
endpoint. Si tratta dell'indirizzo IP senza il numero della porta. 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 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.
- 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 all'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 tuo 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 Knative serving. Ogni singolo servizio può essere mappato a 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 Mappatura dei domini personalizzati non viene visualizzato e devi fare clic sull'icona ellisse verticale con tre puntini nell'angolo a destra della pagina.
Fai clic su Aggiungi mappatura e seleziona Aggiungi mappatura di dominio di servizio per mappare un dominio a un singolo servizio. Puoi mappare più domini a ogni servizio.
Nell'elenco a discesa del modulo Aggiungi mappatura, seleziona il servizio a cui vuoi mappare il tuo dominio personalizzato:
Inserisci il nome del dominio. Ad esempio,
your-domain.com
osubdomain.your-domain.com
. Requisiti per i domini:- La mappatura del percorso di base non è supportata. Il termine percorso di base
si riferisce al nome del percorso dell'URL che segue il nome di dominio. Ad esempio,
users
è il percorso di base diyour-domain.com/users
. Knative serving consente solo di mappare un dominio a/
, non a un percorso di base specifico. Pertanto, qualsiasi routing dei percorsi deve essere gestito utilizzando un router all'interno del contenitore del servizio o utilizzando Firebase Hosting. -
Non puoi mappare il tuo dominio a un sottodominio che corrisponde all'URL dei tuoi servizi. Gli URL di un servizio sono definiti come
http://{service}.{namespace}.{your-domain.com}
, pertanto se hai un servizio all'indirizzotest.default.your-domain.com
, non devi creare una mappatura del 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 segue il nome di dominio. Ad esempio,
Fai clic su Continua.
Aggiorna i record DNS sul sito web del tuo registrar di domini utilizzando i record DNS visualizzati nell'ultimo passaggio. Puoi visualizzare i record in qualsiasi momento facendo clic su Record DNS nel menu di azioni "…" per una mappatura del dominio.
Fai clic su Fine.
gcloud
Mappa il servizio al dominio personalizzato:
gcloud run domain-mappings create --service SERVICE --domain DOMAIN
Sostituisci:
- SERVICE con il nome del servizio.
- DOMAIN con il tuo dominio personalizzato. Ad esempio,
your-domain.com
osubdomain.your-domain.com
. Requisiti per i domini:- La mappatura del percorso di base non è supportata. Il termine percorso di base
si riferisce al nome del percorso dell'URL che segue il nome di dominio. Ad esempio,
users
è il percorso di base diyour-domain.com/users
. Knative serving consente solo di mappare un dominio a/
, non a un percorso di base specifico. Pertanto, qualsiasi routing dei percorsi deve essere gestito utilizzando un router all'interno del contenitore del servizio o utilizzando Firebase Hosting. -
Non puoi mappare il tuo dominio a un sottodominio che corrisponde all'URL dei tuoi servizi. Gli URL di un servizio sono definiti come
http://{service}.{namespace}.{your-domain.com}
, pertanto se hai un servizio all'indirizzotest.default.your-domain.com
, non devi creare una mappatura del 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 segue il nome di dominio. Ad esempio,
Ora che il tuo dominio personalizzato è mappato al servizio Knative, devi aggiungere i record DNS nel registrar del dominio.
Cluster di mappatura
Scegli uno dei seguenti metodi per mappare il tuo 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 Mappatura dei domini personalizzati non viene visualizzato e devi fare clic sull'icona 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 del cluster. Per impostazione predefinita, i nuovi servizi di cui esegui il deployment useranno il dominio mappato.
Fai clic sulla casella di controllo per applicare la nuova mappatura del dominio a tutti i servizi esistenti nel cluster.
Nell'elenco a discesa del modulo Aggiungi mappatura, seleziona il cluster a cui vuoi mappare il tuo dominio personalizzato:
Inserisci il nome del dominio. Ad esempio,
your-domain.com
osubdomain.your-domain.com
. Requisiti per i domini:- La mappatura del percorso di base non è supportata. Il termine percorso di base
si riferisce al nome del percorso dell'URL che segue il nome di dominio. Ad esempio,
users
è il percorso di base diyour-domain.com/users
. Knative serving consente solo di mappare un dominio a/
, non a un percorso di base specifico. Pertanto, qualsiasi routing dei percorsi deve essere gestito utilizzando un router all'interno del contenitore del servizio o utilizzando Firebase Hosting. -
Non puoi mappare il tuo dominio a un sottodominio che corrisponde all'URL dei tuoi servizi. Gli URL di un servizio sono definiti come
http://{service}.{namespace}.{your-domain.com}
, pertanto se hai un servizio all'indirizzotest.default.your-domain.com
, non devi creare una mappatura del 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 segue il nome di dominio. Ad esempio,
Fai clic su Continua.
Aggiorna i record DNS sul sito web del tuo registrar di domini utilizzando i record DNS visualizzati nell'ultimo passaggio. Puoi visualizzare i record in qualsiasi momento facendo clic su Record DNS nel menu di azioni "…" per una mappatura del dominio.
Fai clic su Fine.
kubectl
Esegui il seguente comando per rimuovere il dominio di base esistente dal ConfigMap
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 i domini:- La mappatura del percorso di base non è supportata. Il termine percorso di base
si riferisce al nome del percorso dell'URL che segue il nome di dominio. Ad esempio,
users
è il percorso di base diyour-domain.com/users
. Knative serving consente solo di mappare un dominio a/
, non a un percorso di base specifico. Pertanto, qualsiasi routing dei percorsi deve essere gestito utilizzando un router all'interno del contenitore del servizio o utilizzando Firebase Hosting. -
Non puoi mappare il tuo dominio a un sottodominio che corrisponde all'URL dei tuoi servizi. Gli URL di un servizio sono definiti come
http://{service}.{namespace}.{your-domain.com}
, pertanto se hai un servizio all'indirizzotest.default.your-domain.com
, non devi creare una mappatura del 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 segue il nome di dominio. Ad esempio,
Ora che il tuo dominio personalizzato è mappato al servizio Knative, devi aggiungere i record DNS nel registrar del dominio.
Aggiungere i record DNS al registrar di dominio
Dopo aver mappato il servizio a un dominio personalizzato nel servizio Knative, devi aggiornare i record DNS nel registrar del dominio. Per comodità, Knative serving genera e mostra i record DNS che devi inserire. Affinché la mappatura venga applicata, devi aggiungere questi record che rimandano al servizio Knative serving presso il tuo registrar di dominio.
Se utilizzi Cloud DNS come provider DNS, consulta Aggiunta di un record.
Recupera le informazioni del record DNS per le mappature del dominio utilizzando:
Console
Vai alla pagina delle mappature dei domini di Knative serving:
Fai clic sull'icona ellisse verticale con tre puntini a destra del servizio, poi fai clic su DNS RECORDS (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
.Devi avere tutti i record restituiti sotto la voce
resourceRecords
.Accedi al tuo account presso il registrar del dominio e apri la pagina di configurazione DNS.
Individua la sezione dei record host della pagina di configurazione del tuo dominio, quindi aggiungi ciascuno dei record di risorse che hai ricevuto quando hai mappato il tuo dominio al servizio Knative serving.
Quando aggiungi ciascuno dei record DNS precedenti all'account presso il provider DNS:
- Seleziona il tipo restituito nel record DNS nel passaggio precedente:
A
,AAAA
oCNAME
. - Utilizza il nome
www
per mappare awww.your-domain.com
. - Utilizza il nome
@
per mappareyour-domain.com
. - Utilizza il
carattere jolly
*
per mappare 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, queste modifiche vengono applicate in pochi minuti, ma in alcuni casi possono essere necessarie fino a diverse ore, a seconda del registrar e del valore TTL (Time To Live) di eventuali record DNS precedenti per il tuo dominio. Puoi utilizzare uno strumento
dig
, ad esempio questa versione online didig
, per confermare che i record DNS siano stati aggiornati correttamente.Verifica che l'operazione sia andata a buon fine visitando il servizio al suo nuovo URL, ad esempio
https://www.your-domain.com
. Tieni presente che l'emissione del certificato SSL/TLS gestito può richiedere diversi minuti.
Aggiunta di proprietari di dominio verificati ad altri utenti o account di servizio
Quando un utente verifica un dominio, questo viene verificato solo per l'account dell'utente. Ciò significa che solo quell'utente può aggiungere altri mappaggi del dominio che utilizzano quel dominio. Pertanto, per consentire ad altri utenti di aggiungere mappature che utilizzano questo dominio, devi aggiungerli come proprietari verificati.
Se devi aggiungere 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 per cui vuoi aggiungere un account utente o di servizio.
Scorri verso il basso fino all'elenco Proprietari verificati, fai clic su Aggiungi un proprietario e poi inserisci un indirizzo email dell'Account Google o l'ID account di servizio.
Per visualizzare un elenco dei tuoi account di servizio, apri la pagina Account di servizio nella console Google Cloud:
Registrazione di un dominio con Cloud Domains nella console di Knative serving
Per registrare un dominio con Cloud Domains dalla console di servizio Knative:
Vai alla pagina delle mappature dei domini di Knative serving:
Fai clic su Registra dominio.
Completa la procedura di registrazione seguendo le istruzioni per la registrazione di un dominio.
Completa i passaggi precedenti in questa pagina per mappare il tuo dominio a Knative serving e poi aggiungi i record DNS nel registrar del dominio.
Risoluzione dei problemi
Visualizza i problemi comuni in Risolvere i problemi comuni relativi ai domini personalizzati e al TLS gestito.