Now that we have our cluster more or less running with slurm (although the configuration tuning is not clear, and it will be discussed in another post) it’s time to play with it.
Reading about what you can do with a cluster I stumble upon the kubernetes. It’s supposed to be a generic container that will allow me to deploy, if needed, an application that will run on my cluster, doing what I want. If you read its overview, it says that with those monsters you can:
- Deploy a containerized application on a cluster
- Scale the deployment
- Update the containerized application with a new software version
- Debug the containerized application
I thought I knew programming, but if I continue reading, it says “the tutorials use Katacoda to run a virtual terminal in your web browser that runs Minikube, a small-scale local deployment of Kubernetes that can run anywhere.” That’s amazing, but it sounds pretty strange for me.
So what can the kubernetes do for me? Let’s say I have a software module that runs a program on my cluster. That’s not the end of the road usually, and after that I need to interpret the results with yet another module, that demands different resources. If I have a kubernete that does that for me, pulling the resources it needs at every step, and delivers the final results of the analysis chain to me, it will be fantastic! Of course, the input to such a magical tool needs to be meaningful, and that’s maybe the problem.
Maybe I’m trying to kill a mosquito with a canyon, but I like to play. Actually, I can imagine that, if I need to serialize my slurm jobs, I can do it, by writing the right script and collecting the right signals from the ongoing analysis. Which signals is to be decided. What is right also. So we will see how far I go.