Search code examples
kuberneteskubectlamazon-ekseksctl

How to terminate only certain pods based on wheather or not they have finnished a certain task in kubernetes?


I'm having trouble with finding a solution that allows to terminate only certain pods in a deployment.

The application running inside the pods does some processing which can a take lot of time to be finished.

Let's say I have 10 tasks that are stored in a database and I issue a command to scale the deployment to 10 pods.

Let's say that after some time 3 of the pods have finished their tasks and are no longer required. How can i scale down the deployment from 10 to 7 while terminate only the pods that have finished the tasks and not the pods that are still processing those tasks?

I don't know if more details are needed but i will happily edit the question if there are more details needed to give an answer for this kind of problem.


Solution

  • In this case Kubernetes Job might be better suited for this kind of task.