At my previous job we used docker swarm for a cluster of a dozen machines. Does not have all the fancy features of k8s but gets the job done to automate deployments
The major argument is that "if it's wrong, nothing bad will happen, because it will break in runtime". Isn't it better to break before things are in production, like at compile time?
Solr is a great tool, we use it at my job to index documents and never had any problem with it. We choosed it over elasticsearch because it seems simpler to setup and administer.