Personally, I would first take a look at Cluster API, and see if it's feasible to use one of supported providers, either FOSS or paid. This way the experience can be somewhat close to a cloud platform because the compute instances can be ephemeral and declarative. Basically abstract away the bare metals before your sysadmin decide to bootstrap a vanilla k8s with ansible out of them.
And then there are some classic challenges like DNS, certificates, networking(especially load balancers). And you just need to find the best solution for your company.
But before all that, try to figure out why the cloud spending got out of hand. If the problem is technical, you may be able to get away with some cost optimization. On the other hand, it will be a lot trickier if it's a people problem.