* CI tooling (ie for git push master to be automatically deployed to kubernetes) requires eg git + travis which is somewhat expensive for eg personal development, or manual devops work, which is somewhat expensive work-hours wise
We're using gitlab which can integrate and manage with one kubernetes cluster with the free Gitlab CE licence. Now we did the minimal integration with it (as in we're still deploying our own tiller) to be able to use kubectl and helm from within gitlab-ci.yml scripts. It works quite nicely especially to test stuff in a personal capacity or in dev/staging.
* CI deployment time for eg docker builds on Travis can take 3-5 minutes, which is not great if prod breaks
We had the same issue that we somehow solved by building new images on top of existing ones to reduce build time and having sensible image tagging so we always have a rollback at hand without rebuilding inside gitlab's registry. This has been proved useful more than once when dealing with production systems.
* setup time for each microservice is just on the boundary where it happens infrequently enough to not get scripted, but each new one takes an hour to set up manually
That's also something we struggled with so we extended the time we were allocating to building the helm charts and so on but still no gold. Only semi-effective counter measure we found to this is to work on an internal helm scripts boilerplate of some sort to base all the projects on. But it helps since we are working on projects close one to another and with "preselected" technologies. But yeah i feel the pain on that one too.