Ask HN: What are your biggest pain points working with Kubernetes?
What are some of the biggest challenges that you've had in working with Kubernetes? How did you solve some of them?
What are some of the biggest challenges that you've had in working with Kubernetes? How did you solve some of them?
* 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
* 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
* CI deployment time for eg docker builds on Travis can take 3-5 minutes, which is not great if prod breaks
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.
If you are curious I've been working on open sourcing some of the ideas we've built internally at my organization into some tooling built around deploying from GitHub: https://deliverybot.github.io/
I went from never have run docker build to maintaining docker k8s VMs running the modes, terraforms cloud load balancer so quite a learning curve. Took me ages to realise that to configure nginx ingress I needed to work with the docker image and not try to set it up via the terraform k8s config. That was a painful lesson. Not having those mental models! Doing a free online course on k8s helped a lot, after that I reached critical mass of knowledge and it got a bit easier.
https://github.com/kelseyhightower/kubernetes-the-hard-way
Really helped me, especially going through it multiple times.