Hier erfahren Sie, wie Sie Ihre Installation von Knative serving einrichten und konfigurieren.
Hinweise
In Ihrem GKE-Cluster muss Knative serving installiert sein. Weitere Informationen finden Sie in der Installationsanleitung für Einzelheiten über Voraussetzungen für GKE-Cluster und Installation von Knative serving.
Authentifizierung mit Workload Identity einrichten
Sie können Workload Identity verwenden, um Ihre Knative serving-Dienste zu authentifizieren Google Cloud APIs und Google Cloud-Dienste. Sie müssen Workload Identity einrichten, bevor Sie Dienste in Ihrem Cluster bereitstellen, da sonst jeder Dienst, der vor der Aktivierung von Workload Identity in Ihrem Cluster vorhanden ist, migriert werden muss. Weitere Informationen zur Verwendung von Workload Identity
Messwerte mit Workload Identity aktivieren
Um Messwerte zu aktivieren, z. B. die Anzahl der Anfragen oder die Latenz Google Cloud Observability verwenden, müssen Sie die Schreibberechtigungen für Cloud Monitoring Weitere Informationen finden Sie unter Messwerte mit Workload Identity aktivieren.
HTTPS und benutzerdefinierte Domains konfigurieren
Informationen zum Aktivieren von HTTPS und zum Festlegen einer benutzerdefinierten Domain finden Sie auf den folgenden Seiten:
Cloud Service Mesh einrichten
Informationen zum Konfigurieren der Cloud Service Mesh-Optionen für Knative serving finden Sie in den Optionen für die clusterinterne Steuerungsebene darunter, wie Sie Privates internes Netzwerk einrichten
Privates internes Netzwerk einrichten
Die Bereitstellung von Diensten in einem internen Netzwerk ist für Unternehmen nützlich die ihren Mitarbeitern interne Apps zur Verfügung stellen, sowie für Dienste, die von Clients, die außerhalb des Knative serving-Clusters ausgeführt werden. Mit dieser Konfiguration können andere Ressourcen in Ihrem Netzwerk über eine private, interne IP-Adresse (RFC 1918), die nicht öffentlich zugänglich ist, mit dem Dienst kommunizieren.
Zum Erstellen Ihres internen Netzwerks konfigurieren Sie das Cloud Service Mesh für die Verwendung Internes TCP/UDP-Load-Balancing und nicht mit einem öffentlichen externen Netzwerk-Load-Balancer. Anschließend können Sie Ihre Knative serving-Dienste muss an eine interne IP-Adresse in Ihrem VPC-Netzwerk:
Hinweis
- Sie benötigen Berechtigungen des Typs
admin
für Ihren Cluster. - Wenn Sie eine benutzerdefinierte Domain konfiguriert haben, müssen Sie Verwaltete TLS-Funktion deaktivieren da Managed TLS on Knative serving derzeit vom internes Lastenausgleichsmodul.
- Es werden nur Google Cloud CLI-Versionen ab 310.0 unterstützt. Weitere Informationen zum Einrichten von Befehlszeilentools finden Sie unter
So richten Sie den internen Load-Balancer ein:
Aktivieren Sie das Feature für den internen Load-Balancer in Cloud Service Mesh.
Der interne Load-Balancer ist ein optionales Feature, das Sie konfigurieren können während der Installation von Cloud Service Mesh oder durch Aktualisieren Ihrer vorhandenen Installation.
Führen Sie die Schritte unter Optionale Features auf der Steuerungsebene im Cluster aktivieren aus und fügen Sie die Skriptoption
--option internal-load-balancer
ein.Wenn Sie die Option
--option internal-load-balancer
angeben, ruft das Skript automatisch die benutzerdefinierte Ressource Internen Load-Balancer aktivieren von GitHub ab. Wenn Sie die benutzerdefinierte Ressource ändern möchten, folgen Sie stattdessen der Anleitung zur Verwendung der Option--custom_overlay
.Führen Sie den folgenden Befehl aus, um Updates für Ihren GKE-Cluster zu beobachten:
kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway --watch
Ersetzen Sie INGRESS_NAMESPACE durch den Namespace Ihres Cloud Service Mesh-Dienst für eingehenden Traffic. Geben Sie
istio-system
an, wenn Sie Folgendes installiert haben: Cloud Service Mesh mit seiner Standardkonfiguration.- Beachten Sie die Annotation
cloud.google.com/load-balancer-type: Internal
. - Warten Sie, bis der Wert von
IP
im Ingress-Load-Balancer zu einer privaten IP-Adresse wechselt. - Drücken Sie
Ctrl+C
, um die Updates zu beenden, sobald im FeldIP
eine private IP-Adresse angezeigt wird.
- Beachten Sie die Annotation
Für private Cluster in Google Cloud müssen Sie Ports öffnen. Weitere Informationen finden Sie unter Öffnen von Ports im privaten Cluster in der Cloud Service Mesh-Dokumentation.
So prüfen Sie die interne Verbindung nach Ihren Änderungen:
Stellen Sie einen Dienst namens
sample
für Knative serving in derdefault
-Namespace:gcloud run deploy sample \ --image gcr.io/knative-samples/helloworld \ --namespace default --platform gke
Erstellen Sie eine Compute Engine-VM in derselben Zone, in der sich der GKE-Cluster befindet:
VM=cloudrun-gke-ilb-tutorial-vm gcloud compute instances create $VM
Speichern Sie die private IP-Adresse des Istio-Ingress-Gateways in einer Umgebungsvariablen namens
EXTERNAL_IP
und einer Datei namensexternal-ip.txt
:export EXTERNAL_IP=$(kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway \ -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | tee external-ip.txt)
Ersetzen Sie INGRESS_NAMESPACE durch den Namespace Ihres Cloud Service Mesh-Dienst für eingehenden Traffic. Geben Sie
istio-system
an, wenn Sie Folgendes installiert haben: Cloud Service Mesh mit seiner Standardkonfiguration.Kopieren Sie die Datei mit der IP-Adresse in die VM:
gcloud compute scp external-ip.txt $VM:~
Stellen Sie eine SSH-Verbindung zur VM her:
gcloud compute ssh $VM
Testen Sie in der SSH-Sitzung den Beispieldienst:
curl -s -w'\n' -H Host:sample.default.nip.io $(cat external-ip.txt)
Die Ausgabe sieht so aus:
Hello World!
Verlassen Sie die SSH-Sitzung:
exit
Mehrmandantenfähige Umgebung einrichten
Bei mehrmandantenfähigen Anwendungsfällen müssen Sie Knative serving-Diensten an einen Google Kubernetes Engine-Cluster, aktuellen Projekts erstellt haben. Weitere Informationen zur GKE-Mehrmandantenfähigkeit finden Sie unter Cluster-Mehrmandantenfähigkeit.
Informationen zum Konfigurieren der Mehrmandantenfähigkeit für Knative serving finden Sie unter Projektübergreifende Mehrmandantenfähigkeit.