Sure, there’s also the scratch image, which is entirely empty… So if your app is just a single statically linked binary, your entire container contents can be a single binary.
The busybox image is also more barebones than alpine, but still has a couple of basic tools.
Since you are talking about pods, you are obviously emitting all your logs on stdout and stderr, and you have of course also labeled your pods nicely, so grepping all 36 gods is as easy as
kubectl logs -l <label-key>=<label-value> | grep <search-term>