IBM Cloud Docs
FAQ für Code Engine

FAQ für Code Engine

Antworten auf häufig gestellte Fragen zum IBM Cloud® Code Engine-Service.

Was ist IBM Cloud Code Engine?

Code Engine wird von IBM entwickelt und basiert auf vielen Open-Source-Komponenten. Das Ziel ist die Erweiterung der Kubernetes-Funktionen zur leichteren Erstellung moderner, quellenzentrierter, containerisierter und serverunabhängiger Apps, die in einem Kubernetes-Cluster ausgeführt werden können. Die Plattform ist auf die Bedürfnisse von Entwicklern zugeschnitten, die sich entscheiden müssen, welche Art von App Sie in der Cloud ausführen möchten: 12-Faktor-Apps, Container oder Funktionen. Weitere Informationen hierzu finden Sie im Abschnitt mit den Informationen zu Code Engine.

Mit Code Engine können Sie aus einem einzigen Dashboard heraus Anwendungen bereitstellen, Jobs ausführen und sogar Builds für Quellcode erstellen.

Was ist ein Projekt?

Ein Projekt besteht aus einer Reihe von Code Engine-Entitäten wie zum Beispiel Anwendungen, Jobs oder Builds. Ein Projekt basiert auf einem Kubernetes-Namensbereich. Der Name des Projekts muss innerhalb der Ressourcengruppe, des Benutzerkontos und der Region von IBM Cloud® eindeutig sein. Projekte werden zum Verwalten von Ressourcen und bereitstellen von Zugriff auf ihre Entitäten verwendet.

Ein Projekt stellt die folgenden Elemente bereit.

  • Bereitstellung eines eindeutigen Namensbereichs für Entitätsnamen.
  • Verwaltung des Zugriffs auf die Projektressource (eingehender Zugriff).
  • Verwaltung des Zugriffs auf Unterstützungsservices, Registrys und Repositorys (ausgehender Zugriff).
  • Automatisch generiertes Zertifikat für TLS (Transport Layer Service).

Weitere Informationen zu Projekten finden Sie unter Projekte verwalten.

Wo finde ich Codebeispiele?

Es werden Codebeispiele zum Kennenlernen der Funktionen von Code Engine bereitgestellt. Rufen Sie unser Code Engine-Codebeispielrepository auf GitHubauf.

Ich benötige mehr Speicher! Kann ich meine Grenzwerte erhöhen?

Ja, Sie können Ihre Code Engine Grenzwerte erhöhen. Wenden Sie sich dazu an den IBM Support.

Benötige ich ein Docker Hub-Konto für die Verwendung von Code Engine?

Code Engine erfordert kein Docker Hub-Konto. Obwohl Code Engine Container ausführt, müssen Sie nicht mit der Containertechnologie vertraut sein, um Workloads in Code Enginezu implementieren. Sie können mit Quellcode beginnen und Code Engine erstellt das Container-Image für Sie und speichert es in einem Namensbereich IBM Cloud Container Registry, dessen Eigner Ihr Konto ist. Obwohl IBM Cloud Container Registry als Standardcontainer-Registry verwendet wird, kann Code Engine Images mit Push-und Pull-Operationen aus allen anderen öffentlichen und privaten Registrys extrahieren, auf die über IBM Cloudzugegriffen werden kann.

Worin besteht der Unterschied zwischen einem Docker-Build auf meinem System und einem Build in Code Engine?

Das Ergebnis eines Docker-Builds, den Sie auf dem lokalen System ausführen, ist dasselbe Container-Image, das Sie erhalten, wenn Sie einen Build mit derselben Dockerfile in Code Engine ausführen. Der Build in Code Engine wird jedoch nicht auf dem lokalen System ausgeführt, sondern im Code Engine-System. Dieser Build in Code Engine bietet eine Reihe von Vorteilen.

  1. Die lokale Installation von Software, wie z. B. Docker Desktop, ist nicht erforderlich.
  2. Sie können die von Code Engine bereitgestellten Ressourcen verwenden. So können Sie beispielsweise die Geschwindigkeit von IBM Cloud nutzen, um Container-Registry-Images mit Push- und Pull-Operationen zu übertragen.
  3. Sie können Ihr Container-Image mit der Buildpacks-Build-Strategie anstelle von Dockerfile erstellen, die Ihre Quellen für verschiedene Sprachen erkennt und automatisch einen Container daraus baut.
  4. Wenn Sie über ein Image verfügen, das mit einem nicht auf Intel basierenden Prozessor erstellt wurde, kann Code Engine es für Sie neu erstellen.

Warum funktionieren Images, die mit Nicht-Intel-Prozessoren erstellt wurden, nicht mit Code Engine?

Wenn Sie ein Image haben, das in einer Container-Registry vorhanden ist, und das Image mit einem nicht auf Intel basierenden Prozessor erstellt wurde, kann Code Engine Ihr Container-Image nicht ausführen. Code Engine verwendet Intel-basierte Verarbeitung. Sie können ein eigenes Image erstellen, wenn Sie die Intel-Verarbeitung (x86-Prozessor) verwenden. Sie können auch festlegen, dass Code Engine den Erstellungsprozess für Sie ausführen soll. Weitere Informationen finden Sie unter Build planen.

Unterstützen Code Engine-Apps WebSockets?

Ja! Eine Beispiel-App, die WebSockets verwendet, finden Sie in unserem Code Engine-Beispiel-Repository auf GitHub.

Die maximale Zeit für eine Verbindung zu einer Anwendung beträgt 10 Minuten, auch wenn die Verbindung nicht im Leerlauf ist. Mit Code Enginekönnen Sie diese Verbindungszeit mit dem Wert timeout konfigurieren. Verwenden Sie in der Befehlszeilenschnittstelle (CLI) die Option --timeout mit dem app create oder dem Befehl app update. Über die Konsole können Sie den Wert Timeout für Ihre App über die Registerkarte "Ressourcen und Skalierung" festlegen. Bei einer Anwendung, die WebSockets verwendet, muss sich der Client nach dem Beenden der Verbindung erneut mit der Anwendung verbinden. Wenn Ihre App also eine persistente Verbindung benötigt, erstellen Sie eine neue Verbindung, bevor der Wert für timeout erreicht wird.

Tun Code Engine Apps-Unterstützung gRPC?

Ja! Eine Beispiel-App, die gRPC verwendet, finden Sie in unserem Code Engine-Beispiel-Repository auf GitHub.

Da gRPC von HTTP/2abhängig ist, müssen Sie den Portnamen auf h2c und den Portwert auf 8080 setzen. Anschließend kann Ihre Anwendung Code Engine HTTP/2-Datenverkehr unterstützen. Verwenden Sie die Befehlszeilenschnittstelle Code Engine, um die --port h2c:8080-Option mit dem Befehl app create oder dem Befehl app update zu konfigurieren, um Ihre Anwendung für die Verwendung von gRPCzu konfigurieren. Siehe Anwendungen mit gRPC.

Bietet Code Engine eine Möglichkeit, den Zugriff auf eine bestimmte Entität innerhalb des Projekts Code Engine zu beschränken?

Nein, in Code Enginewerden Rollen, die auf eine Entität Code Engine angewendet werden, nur auf das Projekt angewendet, das als aktueller Kontext ausgewählt ist. Daher können Sie keine Berechtigungen für einzelne Ressourcen in einem Code Engine-Projekt steuern.

Stellt Code Engine eine OpenAPI-Spezifikation für die bereitgestellte Funktion bereit?

Nein, Code Engine generiert keine OpenAPI-Spezifikation für die Funktionen, die Sie bereitstellen. Es sind Pakete und Tools für viele Programmiersprachen verfügbar, um eine OpenAPI-Spezifikation aus Code zu generieren.

Wie kann ich Bedingungen für die Nutzung von Code Engine überprüfen?

Die neuesten Service-Level-Agreements finden Sie in den Nutzungsbedingungen.

Wie kann ich Feedback geben?

Ihr Feedback zu Code Engine ist wichtig und trägt zu Verbesserungen bei. Sie können Feedback auf mehrere Arten bereitstellen:

  • Klicken Dokumentproblem öffnen am Ende einer Dokumentationsseite, um ein Problem zu melden und Ihre Kommentare abzugeben.
  • Teilen Sie das Feedback über Slack. Sie können sich an der Diskussion im Kanal #code-engine beteiligen.