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 all'esecuzione di attività, pertanto non vengono creati percorsi nell'app e non viene implementata come applicazione a lungo termine: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 cercata la configurazione CMD dell'immagine del contenitore. Per poter eseguire correttamente l'attività, deve essere presente un comando di avvio.
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 della task è un identificatore univoco per le task all'interno dello stesso cluster.
Specificare i limiti delle risorse di Task
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
prevalgono sui limiti specificati
sull'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à
Facoltativamente, puoi utilizzare il flag --name
per specificare un nome visualizzato personalizzato per un
Attività per facilitare 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 Tasks
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à
Per annullare un'attività attiva, utilizza il comando kf terminate-task
:
Annullare 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à con
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