-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use K8s also for local development #1631
Comments
Why? Docker Compose is a lot simpler than Kubernetes. Just compare
I think we should provide an up-to-date Helm chart to make it easy to deploy the server to any Kubernetes cluster including a local one. However, to me there are several good arguments to keep the Docker Compose file:
|
Well, it's maintaining two ways instead of one to run / deploy ORT server. Ideally, there should not be much difference between deploying locally / for development and deploying for production, besides the "target" and the respective infrastructure configurations. But both could be done with basically the same tooling.
Sure. That's exactly the topic that the above-mentioned "Mini-K8s-Distributions" try to address.
Still, it would be nice to only have to maintain either, not both.
True, but I thought that was planned for quite some time anyway.
Exactly. Maybe I'm missing something due to my limited K8s knowledge, but again I though that's exactly the purpose of the mentioned tools.
Maybe tutorials like this and tools like this help to convince you.
Note that e.g. k3d actually runs k3s in Docker.
You might want to have a look at this table, even if there is not direct comparison to Docker Compose. |
Also see What is k3d Used for?:
|
Yes, but I don't see the the Compose file causes much maintenance effort.
They make setting up Kubernetes easier, but not making deployments. To me deploying a Helm chart is more complex than running
Yes, but making a generic Helm chart is a lot more difficult than making one for a specific environment because it needs to offer many configuration options to be usable. For example, for local development it would have to deploy a message service like RabbitMQ, in production likely some managed service would be used instead.
Not really. I'm not against anyone updating the Helm chart and using Kubernetes for local development. But I don't like the idea of making Kubernetes a hard requirement for running the server, mainly for these reasons:
|
Ok, that makes sense. |
As somewhat related news to that, JKube (which we currently do not use) can now "run tests on your Helm charts". |
Maintaining the Docker Compose setup for local development only is cumbersome. We should try to share as much infrastructure setup as possible with the production K8s deployment. As such, probably using any of https://github.com/k3d-io/k3d, https://github.com/kubernetes/minikube or https://github.com/kubernetes-sigs/kind should replace the current Docker Compose setup.
The text was updated successfully, but these errors were encountered: