Deployment di un'applicazione

Quando effettui il push di un'app (tramite kf push) in Kf, esistono tre cicli di vita che Kf utilizza per acquisire il codice sorgente e consentire di gestire il traffico:

  1. Caricamento del codice sorgente
  2. Build
  3. Esegui

Caricamento del codice sorgente

La prima cosa che succede quando kf push sono i pacchetti dell'interfaccia a riga di comando Kf (kf) la tua directory (attuale o --path/-p) in un container la pubblica nel Container Registry configurato per lo spazio. Questo è chiamato contenitore di origine. L'interfaccia a riga di comando Kf crea quindi un tipo App in Kubernetes che contiene sia l'immagine di origine sia la configurazione del manifest dell'app e i flag push.

Ignorare i file durante il push

In molti casi, non vorrai caricare determinati file durante kf push (ad es. "ignora" questi). È qui che puoi utilizzare un file .kfignore (o .cfignore). Analogamente a un file .gitignore, questo file indica all'interfaccia a riga di comando Kf che i file da non includere nel contenitore del codice sorgente.

Per creare un file .kfignore, crea un file di testo denominato .kfignore nella base della tua app (simile a dove archivierai il file manifest ). Poi compilalo con un elenco delimitato da riga nuova di file e directory che non vuoi pubblicare. Ad esempio:

bin
.idea

In questo modo, l'interfaccia a riga di comando Kf non includerà nulla nelle directory bin o .idea.

Kf supporta la sintassi in stile gitignore.

Build

Il ciclo di vita della compilazione è gestito da un TaskRun Tekton. A seconda delle segnalazioni da te fornite durante il push, sceglierà una selezione Attività Tekton. Al momento Kf ha le seguenti attività Tekton:

  • buildpackv2
  • buildpackv3
  • Kaniko

Kf monitora ogni TaskRun come una build. Se una build ha esito positivo, viene poi eseguito il deployment dell'immagine container tramite il ciclo di vita Esegui (descritto di seguito).

Puoi trovare ulteriori informazioni in Eseguire il runtime della build.

Esegui

Il ciclo di vita di Run è responsabile dell'acquisizione di un'immagine container e della creazione di un deployment Kubernetes.

Inoltre, crea:

Ulteriori informazioni sono disponibili in Runtime build.