A solução mais fácil para isso é configurar o elasticsearch para que ele não use nenhuma réplica:
index.number_of_replicas: 0
Se o elasticsearch não estiver tentando distribuir shards para outros nós, ele não terá shards não atribuídos.
Não sei por que a configuração padrão do elasticsearch é ter
index.number_of_replicas: 1
As pessoas que estão enganando pela primeira vez o executarão em um único servidor e passarão dias tentando descobrir por que a saúde fica amarela devido a fragmentos não atribuídos.