Deployment di un'applicazione

Quando esegue il push di un'app (tramite kf push) su Kf, esistono tre cicli di vita che Kf utilizza per acquisire il codice sorgente e consentirgli 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 è l'interfaccia a riga di comando Kf (kf) che pacchettizza la directory (attuale o --path/-p) in un container e la pubblica nel Container Registry configurato per lo spazio. il cosiddetto container 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 dei flag push.

Ignorare i file durante il push

In molti casi, è preferibile non caricare determinati file durante kf push (ad esempio, "ignorarli"). Qui può essere utilizzato un file .kfignore (o .cfignore). Analogamente a un file .gitignore, questo file indica all'interfaccia a riga di comando Kf quali file non includere nel container del codice sorgente.

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

bin
.idea

Questo indicherà all'interfaccia a riga di comando Kf di non includere nulla nelle directory bin o .idea.

Kf supporta la sintassi di stile gitignore.

Build

Il ciclo di vita della build è gestito da un TaskRun Tekton. A seconda dei flag che fornisci durante il push, verrà scelta un'attività Tekton specifica. Al momento Kf dispone delle seguenti attività Tekton:

  • buildpackv2
  • buildpackv3
  • kaniko

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

Per ulteriori informazioni, vedi Runtime build.

Esegui

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

Crea inoltre:

Per ulteriori informazioni, vedi Runtime build.

Timeout push

Kf supporta l'impostazione di una variabile di ambiente per indicare il timeout dell'interfaccia a riga di comando durante il push delle app. Se impostate, le variabili KF_STARTUP_TIMEOUT o CF_STARTUP_TIMEOUT vengono analizzate come durata in stile golang (ad esempio 15m, 1h). Se non viene impostato un valore, per impostazione predefinita il timeout push sarà di 15 minuti.