Anwendung bereitstellen

Wenn Sie eine Anwendung (über kf push) an Kf senden, gibt es drei Lebenszyklen, die verwendet werden, um Ihren Quellcode für die Verarbeitung von Traffic zu verwenden:

  1. Upload des Quellcodes
  2. Build
  3. Lauf

Upload des Quellcodes

Wenn Sie kf push senden, lädt die Kf-Befehlszeile (kf) zuerst Ihr Verzeichnis (entweder das aktuelle oder --path/-p) in einen Container hoch und veröffentlicht ihn in der für den Space konfigurierten Container Registry. Dieser Container wird als Quellcontainer bezeichnet. Anschließend erstellt die Kf-Befehlszeile einen App-Typ in Kubernetes, der sowohl das Quell-Image als auch die Konfiguration aus dem App-Manifest und den Push-Flags enthält.

Dateien während des Hochladens ignorieren

In vielen Fällen sollten bestimmte Dateien während kf push nicht hochgeladen werden (d. h., dass sie sie "ignorieren"). Hier können Sie eine .kfignore- (oder .cfignore-Datei) verwenden. Ähnlich wie eine .gitignore-Datei weist diese Datei die Kf-Befehlszeile an, welche Dateien nicht in den Quellcode-Container aufgenommen werden sollen.

Erstellen Sie zum Anlegen einer .kfignore-Datei eine Textdatei mit dem Namen .kfignore im Basisverzeichnis der Anwendung (ähnlich dem Ort, an dem Sie die Manifestdatei speichern würden). Füllen Sie sie dann mit einer durch Zeilenumbrüche getrennte Liste von Dateien und Verzeichnissen, die nicht veröffentlicht werden sollen. Beispiel:

bin
.idea

Dadurch wird die Kf-Befehlszeile angewiesen, nichts in die Verzeichnisse bin oder .idea aufzunehmen.

Kf unterstützt die Syntax im Stil von gitignore.

Build

Der Build-Lebenszyklus wird von einem Tekton-TaskRun verwaltet. Abhängig von den Flags, die Sie während des Hochladens bereitstellen, wird eine bestimmte Tekton-Task ausgewählt. Kf verfügt aktuell über die folgenden Tekton-Aufgaben:

  • buildpackv2
  • buildpackv3
  • kaniko

kf verfolgt jeden TaskRun als Build. Bei einem erfolgreichen Build wird das resultierende Container-Image dann über den Ausführungslebenszyklus bereitgestellt (siehe unten).

More information can be found at Build Runtime.

Lauf

Der Ausführungslebenszyklus ist für die Aufnahme eines Container-Images und das Erstellen eines Kubernetes-Deployments zuständig.

Außerdem wird erstellt:

More information can be found at Build Runtime.

Push-Zeitüberschreitung

Kf unterstützt das Festlegen einer Umgebungsvariable, die die Befehlszeile anweist, beim Senden von Anwendungen eine Zeitüberschreitung auszulösen. Wenn dieses Flag gesetzt ist, wird die Variable KF_STARTUP_TIMEOUT oder CF_STARTUP_TIMEOUT als Golang-Stildauer geparst, z. B. 15m, 1h. Wenn kein Wert festgelegt ist, beträgt die Push-Zeitüberschreitung standardmäßig 15 Minuten.