Das folgende Diagramm zeigt das Knative-Bereitstellungsressourcenmodell:
Das Diagramm zeigt ein Google Cloud-Projekt mit zwei Knative-Bereitstellungsdiensten, Service A
und Service B
, von denen jeder mehrere Überarbeitungen hat.
Im Diagramm erhält Service A
viele Anfragen, was zum Starten und Ausführen mehrerer Container-Instanzen führt. Service B
empfängt derzeit keine Anfragen, daher wird noch keine Container-Instanz gestartet.
Knative-Bereitstellungsdienste
Der Dienst ist die Hauptressource von Knative serving. Jeder Dienst befindet sich in einem bestimmten GKE-Cluster-Namespace.
Ein Google Cloud-Projekt kann viele Dienste in verschiedenen Regionen oder GKE-Clustern ausführen.
Jeder Dienst stellt einen eindeutigen Endpunkt bereit und skaliert die zugrunde liegende Infrastruktur automatisch, um eingehende Anfragen zu verarbeiten.
Knative-Bereitstellungsversionen
Bei jedem Deployment in einem Dienst wird eine Überarbeitung erstellt. Jede Überarbeitung umfasst ein bestimmtes Container-Image sowie Umgebungseinstellungen wie Umgebungsvariablen, Arbeitsspeicherlimits oder einen Gleichzeitigkeitswert.
Überarbeitungen können nach der Erstellung nicht mehr geändert werden. Wenn Sie beispielsweise ein Container-Image für einen neuen Knative-Bereitstellungsdienst bereitstellen, wird die erste Überarbeitung erstellt. Wenn Sie anschließend für denselben Dienst ein anderes Container-Image bereitstellen, wird eine zweite Überarbeitung erstellt. Wenn Sie anschließend eine Umgebungsvariable festlegen, wird eine dritte Überarbeitung erstellt und so weiter.
Anfragen werden automatisch so schnell wie möglich an die neueste fehlerfreie Dienstüberarbeitung weitergeleitet. Sie können den Traffic nach Bedarf auf verschiedene Versionen aufteilen.
Knative für die Bereitstellung von Containerinstanzen
Jede Überarbeitung, die Anfragen empfängt, wird automatisch auf die Anzahl der Containerinstanzen skaliert, die zur Verarbeitung aller Anfragen nötig sind. Eine Containerinstanz kann viele Anfragen gleichzeitig empfangen. Mit der Gleichzeitigkeitseinstellung können Sie die maximale Anzahl von Anfragen festlegen, die parallel an eine bestimmte Containerinstanz gesendet werden können.