Scopri come impostare e configurare la tua installazione di Knative serving.
Prima di iniziare
Devi aver installato Knative serving sul tuo cluster GKE. Consulta le guida all'installazione per maggiori dettagli su Prerequisiti dei cluster GKE e come installare Knative serving.
Configurazione dell'autenticazione con Workload Identity
Puoi utilizzare Workload Identity per autenticare i servizi Knative serving alle API e ai servizi Google Cloud. Devi configurare Workload Identity prima di eseguire il deployment dei servizi nel cluster, altrimenti ogni servizio esistente devi eseguire la migrazione del cluster prima di abilitare Workload Identity. Scopri di più sull'utilizzo di Workload Identity.
Abilitazione delle metriche con Workload Identity in corso...
Per attivare metriche come il conteggio delle richieste di report o la latenza delle richieste a Google Cloud Observability, devi impostare manualmente le autorizzazioni di scrittura per e configurazione in Cloud Monitoring. Per maggiori dettagli, vedi Attivazione delle metriche con Workload Identity.
Configurazione di HTTPS e di 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 le Opzioni del piano di controllo in-cluster, incluse le istruzioni 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 in esecuzione all'esterno del cluster Knative serving. Questa configurazione consente ad altre risorse nella tua rete di comunicare con il servizio utilizzando un privato, interno (RFC 1918) Indirizzo IP a cui il pubblico non può accedere.
Per creare la tua rete interna, configura Cloud Service Mesh per utilizzare Bilanciamento del carico TCP/UDP interno anziché un bilanciatore del carico di rete pubblico esterno. Puoi quindi eseguire il deployment I servizi Knative serving su un indirizzo IP interno Rete VPC.
Prima di iniziare
- Devi disporre di
admin
autorizzazioni sul cluster. - Se hai configurato un dominio personalizzato, devi disabilitare la funzionalità TLS gestito perché il protocollo TLS gestito su Knative serving attualmente non è supportato con il bilanciatore del carico interno.
- Sono supportate solo le versioni Google Cloud CLI 310.0 o successive. Per maggiori dettagli sulla configurazione degli strumenti a riga di comando, vedi
Per configurare il bilanciatore del carico interno:
Attiva 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 i dati dell'installazione.
Segui i passaggi in Abilitazione di funzionalità facoltative nel piano di controllo nel cluster e assicurati di includere l'opzione dello script
--option internal-load-balancer
.Se specifichi l'opzione
--option internal-load-balancer
, lo script recupera automaticamente Abilita un bilanciatore del carico interno risorsa personalizzata da GitHub. Se devi modificare la risorsa personalizzata, segui invece le istruzioni per utilizzare l'opzione--custom_overlay
.Esegui questo comando per osservare gli aggiornamenti a GKE cluster:
kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway --watch
Sostituisci INGRESS_NAMESPACE con lo spazio dei nomi del tuo Servizio in entrata di Cloud Service Mesh. Specifica
istio-system
se hai installato Cloud Service Mesh utilizzando la configurazione predefinita.- Osserva l'annotazione
cloud.google.com/load-balancer-type: Internal
. - Cerca il valore di
IP
nel bilanciatore del carico Ingress per passare a un indirizzo IP privato. - Premi
Ctrl+C
per interrompere gli aggiornamenti quando vedi un indirizzo IP privato in nel campoIP
.
- Osserva l'annotazione
Per cluster privati devi aprire le porte su Google Cloud. Per maggiori dettagli, vedi apre le porte sul tuo cluster privato nella documentazione di Cloud Service Mesh.
Per verificare la connettività interna dopo le modifiche:
Esegui il deployment di un servizio chiamato
sample
in Knative serving nella Spazio dei nomidefault
:gcloud run deploy sample \ --image gcr.io/knative-samples/helloworld \ --namespace default --platform gke
Crea una macchina virtuale Compute Engine (VM) nella stessa zona del cluster GKE:
VM=cloudrun-gke-ilb-tutorial-vm gcloud compute instances create $VM
Archivia l'indirizzo IP privato del gateway Istio Ingress in un ambiente denominata
EXTERNAL_IP
e 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 in entrata di Cloud Service Mesh. Specifica
istio-system
se hai installato Cloud Service Mesh utilizzando la configurazione predefinita.Copia il file contenente l'indirizzo IP sulla VM:
gcloud compute scp external-ip.txt $VM:~
Connettiti alla VM tramite SSH:
gcloud compute ssh $VM
Mentre sei nella sessione SSH, prova 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, dovrai gestire ed eseguire il deployment di servizi Knative serving in un cluster Google Kubernetes Engine al di fuori del tuo progetto attuale. Per ulteriori informazioni su GKE l'architettura multi-tenancy, Multitenancy dei cluster.
Per scoprire come configurare l'architettura multi-tenancy per Knative serving, consulta Multitenancy tra progetti.