Vorhandenen Dienst migrieren

In dieser Anleitung wird beschrieben, wie Sie einen Webdienst für die Ausführung in einem Container auf Knative vorbereiten. Die Datenmigration wird nicht behandelt.

Port identifizieren, den Ihr Code überwacht

Ihr Dienst sollte auf Anfragen an einem bestimmten Port warten. Sie müssen diesen Port identifizieren und die Knative-Bereitstellung so konfigurieren, dass Anfragen an denselben Port gesendet werden.

Dies ist derselbe Port, den Sie auch beim Aufrufen Ihres Dienstes auf Ihrem lokalen Computer verwenden würden. Wenn Sie beispielsweise Ihren Code testen möchten, öffnen Sie localhost:3000 und legen Sie den Containerport in der Knative-Bereitstellung auf 3000 fest.

Die Knative-Bereitstellung sendet standardmäßig Anfragen an 8080. Der Wert des Ports, an den Anfragen gesendet werden, ist immer in der Umgebungsvariable PORT verfügbar. Als Best Practice empfiehlt es sich, dass der Code den Wert überwacht, der durch die Umgebungsvariable PORT definiert ist.

Lokales Dateisystem von der Abhängigkeit von nichtflüchtigem Speicher befreien

Prüfen Sie Ihren Anwendungscode auf Abhängigkeiten von lokalen Dateisystemen und ersetzen Sie diese durch Dateispeicher in Cloud Storage oder Datenspeicher wie Firestore oder Cloud SQL.

Dockerfile hinzufügen

Zur Verpackung des Dienstes in einem Container empfiehlt sich ein Dockerfile, mit dem die Betriebsumgebung definiert wird. Weitere Informationen zum Anpassen von Dockerfile finden Sie auf der Seite Dienst entwickeln

Nebenläufigkeit und Speicherlimits abstimmen

Weitere Informationen zur Gleichzeitigkeit in der Knative-Bereitstellung und zur Optimierung Ihrer Dienste finden Sie in den Tipps zur Optimierung der Nebenläufigkeit.

Achten Sie darauf, das Speicherlimit hoch genug anzusetzen, damit die Anwendung ausgeführt wird und der Dienst genügend Speicher für die temporäre Speicherung von Dateien hat.

Logs an stdout oder stderr senden

Die Knative-Bereitstellung verwendet automatisch die Beobachtbarkeit von Google Cloud, um Ihre Logs zu aggregieren und zu prüfen, wie auf der Logging-Seite beschrieben.