Auf dieser Seite werden einige Punkte erläutert, die Sie für die ersten Schritte bei der Entwicklung eines Dienstes für Knative Serving wissen müssen.
Codeanforderungen
Der Dienst, den Sie entwickeln, muss folgende Anforderungen erfüllen:
- Der Dienst muss Anfragen überwachen.
Sie können den Port konfigurieren, an den Anfragen gesendet werden.
In Knative Serving-Containerinstanzen entspricht der Wert der Umgebungsvariablen
PORT
immer dem Port, an den Anfragen gesendet werden. Ihr Code sollte prüfen, ob die UmgebungsvariablePORT
vorhanden ist. Ist dies der Fall, sollte sie überwacht werden, um die Übertragbarkeit zu optimieren. - Er muss zustandslos sein. Der Dienst darf nicht von einem nichtflüchtigen lokalen Zustand abhängig sein.
- Der Dienst darf keine Hintergrundaktivitäten ausführen, die außerhalb der Bearbeitung von Anfragen liegen.
Weitere Informationen zu diesen Einschränkungen finden Sie im Containerlaufzeitvertrag.
Unterstützung von Programmiersprachen
Mit Knative Serving können Sie Code in einer Programmiersprache Ihrer Wahl schreiben.
Webserver verwenden
Sie können einen Webserver verwenden, um den erforderlichen Port zu überwachen und eingehende Anfragen zu verarbeiten und weiterzuleiten. Node.js-Entwickler können beispielsweise Express.js verwenden, Python-Entwickler Flask, Ruby-Entwickler Sinatra usw.
Code containerisieren
Zur Bereitstellung in Knative Serving müssen Sie ein Container-Image bereitstellen. Ein Container-Image ist ein Paketerstellungsformat, das Ihren Code, dessen Pakete, eventuell erforderliche binäre Abhängigkeiten, das zu verwendende Betriebssystem und alle anderen zur Ausführung Ihres Dienstes erforderlichen Elemente enthält.
Mit der Datei Dockerfile wird häufig angegeben, wie das Container-Image erstellt werden soll.
Dockerfiles beginnen häufig mit einem Basis-Image (z. B. FROM golang:1.11
). Basis-Images, die von Betriebssystem- und Sprachautoren verwaltet werden, finden Sie auf Docker Hub. Cloud Build prüft vor dem Abrufen aus Docker Hub, ob im Cache gespeicherte Images verwendet werden. Wenn Sie das Build-Tool eines Drittanbieters verwenden, können Sie Ihren Docker-Daemon so konfigurieren, dass im gleichen Cache nach Images gesucht wird. Von Google verwaltete Basis-Images finden Sie im Google Cloud Marketplace.
Wenn Sie Ihre eigenen Binärdateien verwenden, müssen diese für Linux ABI x86_64 kompiliert sein.
Diese Ressourcen bieten weitere Informationen zu Dockerfiles:
- Informationen zur Dockerfile-Syntax finden Sie in der Dockerfile-Referenz.
- In den Tipps unter Best Practices für das Schreiben von Dockerfiles erfahren Sie, wie Dockerfiles zusammenhängen.
Nächste Schritte
- Sobald Sie Dienstcode und Dockerfile haben, sollten Sie ein Container-Image erstellen und dann das Iterieren mit lokalen Tests fortsetzen.
- Wenn Sie eine vorhandene Webanwendung migrieren, finden Sie weitere Informationen unter Dienst zu Knative Serving migrieren.
- Best Practices zum Entwerfen, Implementieren, Testen und Bereitstellen eines Dienstes in Knative Serving finden Sie unter Entwicklungstipps.