4 ms·
What would you recommend for development of some private project on a local server? No cloud cluster, bare metal and great opportunity to learn. Something on t
by aloer 7y ago
What would you recommend for development of some private project on a local server? No cloud cluster, bare metal and great opportunity to learn.
Something on the order of 20-40 services for even the most trivial things. Development speed above all else
- goatinaboat 7y agoMinikube works great for me. You can configure your Docker to use it too, e.g. so ‘docker run’ runs a container.
- kkapelon 7y agoTilt (the product created by the company hosted by the blog) is an implied solution. There is also Draft (Microsoft), Skaffold (Google) and Garden.io Here is comparison of the last 3 https://codefresh.io/howtos/local-k8s-draft-skaffold-garden/ https://codefresh.io/howtos/local-k8s-draft-skaffold-garden/ (I have no affiliation with any of those solutions, I just co-authored the comparison article)
- eysi 7y agoHi aloer! Garden co-founder, so perhaps (likely) a little biased[0]. Depending on your needs, Garden and Tilt are both great solutions, with slightly different philosophies. It's easy to get started with Tilt if you already have the Kubernetes manifests. If not, Garden might better suit your needs since its "container" module type allows you to provide only a minimal description of your module which Garden then maps into K8s manifests. So you won't have to write the full specs for 20+ services. (Garden also supports Kubernetes manifests and Helm charts if that's your jazz). Garden will also manage the dependencies between all your services (at a granularity of builds, deploys, tasks, and tests). So if service12 needs to be built before service20, and service18 needs to be deployed before service5, but only after the database migration for service2 is completed, Garden can take care of that. This also improves dev speed since Garden knows exactly what to re-build and re-deploy as you make changes to your source code. And on the topic of dev speed, Garden supports both hot-reloading and in-cluster building which allows you to share build caches with the rest of you team. In general, there are a lot of interesting tools in this space and it's evolving rapidly. So even though developing on Kubernetes on your local laptop _can_ suck, developing distributed systems doesn't have to. [0]: https://github.com/garden-io/garden https://github.com/garden-io/garden