Puoi eseguire flussi di lavoro di breve durata eseguendoli come attività in Tasks Cf. Le attività vengono eseguite in App, il che significa che ognuna a cui è associata un'app. Ogni esecuzione di Tasks utilizza gli artefatti di build principale. Poiché le attività sono di breve durata, il deployment dell'app non viene eseguito a lunga esecuzione e non devono essere create route per l'app o l'attività.
Esegui il push di un'app per l'esecuzione di Tasks
Clona il repository test-app repo:
git clone https://github.com/cloudfoundry-samples/test-app test-app
cd test-app
Esegui il push dell'app.
Esegui il push dell'app con il comando
kf push APP_NAME --task
. Il flag--task
indica che l'app è destinata a essere utilizzata per eseguire Tasks, e quindi vengono create nell'app e il deployment non viene eseguito come una applicazione:kf push test-app --task
Verifica che non siano state create istanze o route dell'app elencando l'app:
kf apps
Tieni presente che l'app non viene avviata e non ha URL:
Listing Apps in Space: test-space Name Instances Memory Disk CPU URLs test-app stopped 1Gi 1Gi 100m <nil>
Eseguire un'attività nell'app
Quando esegui un'attività nell'app, puoi specificare facoltativamente un comando di avvio
utilizzando il flag --command
. Se non viene specificato alcun comando start, viene utilizzato il comando start
specificato nell'app. Se per l'app non è specificato un comando start, viene eseguita la ricerca della configurazione CMD dell'immagine del contenitore. Un comando di avvio deve
esistenti per poter eseguire correttamente l'attività.
kf run-task test-app --command "printenv"
Viene visualizzato un messaggio simile a questo, che conferma l'invio dell'attività:
Task test-app-gd8dv is submitted successfully for execution.
Il nome dell'attività viene generato automaticamente, ha come prefisso il nome dell'app e con una stringa arbitraria come suffisso. Il nome dell'attività è un identificatore univoco Attività all'interno dello stesso cluster.
Specifica i limiti delle risorse delle attività
I limiti di risorse (ad esempio core della CPU/limite di memoria/quota del disco) possono essere specificati nell'app (durante kf push
) o durante il comando kf run-task
. I limiti
specificati nel comando kf run-task
hanno la precedenza su quelli specificati
nell'app.
Per specificare i limiti di risorse in un'app, puoi utilizzare i flag --cpu-cores
,
--memory-limit
e --disk-quota
nel comando kf push
:
kf push test-app --command "printenv" --cpu-cores=0.5 --memory-limit=2G --disk-quota=5G --task
Per eseguire l'override di questi limiti nell'app, puoi utilizzare i flag --cpu-cores
,
--memory-limit
e --disk-quota
nel comando kf run-task
:
kf run-task test-app --command "printenv" --cpu-cores=0.5 --memory-limit=2G --disk-quota=5G
Specificare un nome visualizzato personalizzato per un'attività
Se vuoi, puoi utilizzare il flag --name
per specificare un nome visualizzato personalizzato per un'attività per facilitarne l'identificazione/il raggruppamento:
$ kf run-task test-app --command "printenv" --name foo
Task test-app-6swct is submitted successfully for execution.
$ kf tasks test-app
Listing Tasks in Space: test space
Name ID DisplayName Age Duration Succeeded Reason
test-app-6swct 3 foo 1m 21s True <nil>
Gestisci le attività
Visualizza tutte le attività di un'app con il comando kf tasks APP_NAME
:
$ kf tasks test-app
Listing Tasks in Space: test space
Name ID DisplayName Age Duration Succeeded Reason
test-app-gd8dv 1 test-app-gd8dv 1m 21s True <nil>
Annullare un'attività
Annullare un'attività attiva utilizzando il comando kf terminate-task
:
Annulla un'attività in base al nome:
$ kf terminate-task test-app-6w6mz Task "test-app-6w6mz" is successfully submitted for termination
In alternativa, annulla un'attività entro il giorno
APP_NAME
+ ID attività:$ kf terminate-task test-app 2 Task "test-app-6w6mz" is successfully submitted for termination
Le attività annullate hanno lo stato PipelineRunCancelled
.
$ kf tasks test-app
Listing Tasks in Space: test space
Name ID DisplayName Age Duration Succeeded Reason
test-app-gd8dv 1 test-app-gd8dv 1m 21s True <nil>
test-app-6w6mz 2 test-app-6w6mz 38s 11s False PipelineRunCancelled
Visualizza i log delle attività
Visualizza i log di un'attività utilizzando il comando kf logs APP_NAME --task
:
$ kf logs test-app --task