Report this

What is the reason for this report?

Kubernetes for small project

Posted on January 3, 2021

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



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!

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.

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 ;)

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

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.