Scopri come configurare e impostare l'installazione di Knative serving.
Prima di iniziare
Devi aver installato Knative serving sul tuo cluster GKE. Consulta la guida all'installazione per informazioni dettagliate sui prerequisiti del cluster GKE e su come installare Knative serving.
Configurazione dell'autenticazione con la federazione delle identità per i carichi di lavoro per GKE
Puoi utilizzare Workload Identity Federation for GKE per autenticare i tuoi servizi Knative Serving alle Google Cloud API e ai servizi. Devi configurare Workload Identity Federation for GKE prima di eseguire il deployment dei servizi nel cluster, altrimenti ogni servizio esistente nel cluster prima dell'abilitazione di Workload Identity Federation for GKE deve essere migrato. Scopri di più sull'utilizzo di Workload Identity Federation for GKE.
Attivazione delle metriche con Workload Identity Federation for GKE
Per attivare le metriche, ad esempio il conteggio delle richieste di report o la latenza delle richieste in Google Cloud Observability, devi impostare manualmente le autorizzazioni di scrittura per Cloud Monitoring. Per i dettagli, consulta Attivazione delle metriche con Workload Identity Federation for GKE.
Configurazione di HTTPS e domini personalizzati
Per attivare HTTPS e impostare un dominio personalizzato, consulta le seguenti pagine:
Configurazione di Cloud Service Mesh
Per configurare le opzioni di Cloud Service Mesh per Knative Serving, consulta la sezione Opzioni del control plane in-cluster, inclusa la procedura per configurare una rete interna privata.
Configurazione di una rete interna privata
Il deployment dei servizi su una rete interna è utile per le aziende che forniscono app interne al proprio personale e per i servizi utilizzati da client che vengono eseguiti al di fuori del cluster Knative Serving. Questa configurazione consente ad altre risorse della tua rete di comunicare con il servizio utilizzando un indirizzo IP privato, interno (RFC 1918) a cui non è possibile accedere pubblicamente.
Per creare la tua rete interna, configura Cloud Service Mesh in modo che utilizzi il bilanciamento del carico TCP/UDP interno anziché un bilanciatore del carico di rete esterno pubblico. Puoi quindi eseguire il deployment dei servizi Knative Serving su un indirizzo IP interno all'interno della tua rete VPC.
Prima di iniziare
- Devi disporre delle autorizzazioni
admin
sul cluster. - Se hai configurato un dominio personalizzato, devi disattivare la funzionalità TLS gestito perché TLS gestito su Knative Serving non è attualmente supportato dal bilanciatore del carico interno.
- Sono supportate solo le versioni 310.0 o successive di Google Cloud CLI. Per informazioni dettagliate sulla configurazione degli strumenti a riga di comando, vedi
Per configurare il bilanciatore del carico interno:
Abilita la funzionalità del bilanciatore del carico interno in Cloud Service Mesh.
Il bilanciatore del carico interno è una funzionalità facoltativa che puoi configurare durante l'installazione di Cloud Service Mesh o aggiornando l'installazione esistente.
Segui i passaggi descritti in Abilitazione delle funzionalità facoltative sul piano di controllo in-cluster e assicurati di includere l'opzione dello script
--option internal-load-balancer
.Quando specifichi l'opzione
--option internal-load-balancer
, lo script recupera automaticamente la risorsa personalizzata Enable an internal load balancer da GitHub. Se devi modificare la risorsa personalizzata, segui le istruzioni per utilizzare l'opzione--custom_overlay
.Esegui questo comando per monitorare gli aggiornamenti del cluster GKE:
kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway --watch
Sostituisci INGRESS_NAMESPACE con lo spazio dei nomi del tuo servizio di ingresso Cloud Service Mesh. Specifica
istio-system
se hai installato Cloud Service Mesh utilizzando la configurazione predefinita.- Prendi nota dell'annotazione
cloud.google.com/load-balancer-type: Internal
. - Cerca il valore di
IP
nel bilanciatore del carico Ingress da modificare in un indirizzo IP privato. - Premi
Ctrl+C
per interrompere gli aggiornamenti quando vedi un indirizzo IP privato nel campoIP
.
- Prendi nota dell'annotazione
Per i cluster privati su Google Cloud, devi aprire le porte. Per maggiori dettagli, vedi Apertura delle porte sul cluster privato nella documentazione di Cloud Service Mesh.
Per verificare la connettività interna dopo le modifiche:
Esegui il deployment di un servizio denominato
sample
in Knative serving nello spazio dei nomidefault
:gcloud run deploy sample \ --image gcr.io/knative-samples/helloworld \ --namespace default --platform gke
Crea una macchina virtuale (VM) Compute Engine nella stessa zona del cluster GKE:
VM=cloudrun-gke-ilb-tutorial-vm gcloud compute instances create $VM
Memorizza l'indirizzo IP privato di Istio Ingress Gateway in una variabile di ambiente denominata
EXTERNAL_IP
e in un file denominatoexternal-ip.txt
:export EXTERNAL_IP=$(kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway \ -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | tee external-ip.txt)
Sostituisci INGRESS_NAMESPACE con lo spazio dei nomi del tuo servizio di ingresso Cloud Service Mesh. Specifica
istio-system
se hai installato Cloud Service Mesh utilizzando la configurazione predefinita.Copia il file contenente l'indirizzo IP nella VM:
gcloud compute scp external-ip.txt $VM:~
Connettiti alla VM tramite SSH:
gcloud compute ssh $VM
Nella sessione SSH, testa il servizio di esempio:
curl -s -w'\n' -H Host:sample.default.nip.io $(cat external-ip.txt)
L'output è il seguente:
Hello World!
Esci dalla sessione SSH:
exit
Configurazione di un ambiente multi-tenant
Nei casi d'uso multi-tenant, devi gestire e distribuire i servizi Knative Serving in un cluster Google Kubernetes Engine che si trova al di fuori del tuo progetto attuale. Per saperne di più sulla multitenancy di GKE, consulta Cluster multi-tenancy.
Per scoprire come configurare la multitenancy per Knative serving, consulta Multitenancy tra progetti.