Question

Kubernetes for small project

Question

Hello and happy new year 🙂

Im new in kubernetes world because docker swarm is somehow on eol. I want to ask something, because I cant find proper answers.

First: is kubernetes overkill for test environment? I read, that you need at least 2gb and 2 cores, which is 2x more resources then docker swarm. And also, 3 nodes (or 2) so whole thing costs at least 2x more.

Second thing: load balancer, now Im using treafik with docker swarm and it can be used also with kubernetes as reverse proxy thanks to ingress. But, can I use it as load balancer too? I read a lot of articles, but all the time there is Digitalocean load balancer (which costs too).

And finall thing: do you think that kubernetes is overkill for small - medium project? Im creating one with good potential, but as every project, its small at the beginning, but at the end it can be massive (not much, but bigger 😉)

Thank you for your answers

Show comments

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

But as I understand, its better to use Traefik / Nginx Ingress with DO load balancers, am I right?

It really depends on the requirements for your application. In general, you’ll get a DO load balancer when you create an K8s Ingress resource.

For application type:

It is application with FE client (Vue), BE (NestJS), db (postgres) and admin (Vue). For users, really hard to say, for beginning we expect around thousand people, but with new features and growing community, it could be more than 30k. But its hard to say about daily peaks.

I recommend getting a better understanding of your individual backend services in order to setup autoscalers for your K8s deployment resources.

So Im in position, that I dont know how to start this new project. I heard that docker swarm mode is still good, but its future is not that bright, but kubernetes for one man army (Im developing whole app on my own) is little bit overkill.

Just design your individual services using the techniques outlined here. Then you can use Docker to package these service. Next, you’ll implement Kubernetes deployment resources to autoscale your services based on their required resource utilization.

So any advice is welcome :)

Good luck and all the best.

Think different and code well,

-Conrad

Hello and happy new year 2021 too ;)

First: Docker Swarm and Kubernetes are very dissimile. Kubernetes, or k8s, is a Cloud Orchestrator and Swarm is more limited to a few pods. In k8s you need to have additional pods to get all systems working: disk, network, services, etc. k8s is ideal for test environments and not overkill. You can use Terraform to start up the infrastructure and Ansible to keep your cluster in sync in some minutes.

Second: DO Load Balancers are very stable and fastest. The problem is that you can’t have more than 10 of them in your account. You can also use Traefik as your LoadBalancer. The differences between both are that DOLB uses Nginx and has more features that Traefik doesn’t have: for example blacklist by URL. The final decision must be taken in the function of your project requirements. In our case, we have a mix of Traefik and DOLB.

best regards,

HR ;)