Dienst entwickeln

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 Umgebungsvariable PORT 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:

Nächste Schritte