Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does a simple monolith application need kubernetes to manage

I'm very new to the infrastructure so I built a simple monolith application and I use docker for building a container and deploy it on my linux server. My question is, do I need to install kubernetes for a single container and if no how can I scale or do the load balancing.

like image 617
Patrick Avatar asked Aug 30 '20 13:08

Patrick


People also ask

Is Kubernetes good for monolith?

The granularity that Kubernetes provides (more focused microservices versus larger monolithic applications) allows for faster system evolution.

Can monolithic application be containerized?

A monolithic containerized application has most of its functionality within a single container, with internal layers or libraries, and scales out by cloning the container on multiple servers/VMs.

Do you really need Kubernetes?

You don't need Kubernetes to run your applications. It's just one of the many options to run production software. Carefully consider if the added learning curve and configuration overhead is worth the benefits of moving to Kubernetes.

What is monolith in Kubernetes?

The Monolithic application describes a one-tiered software application within which different components combined into one program from a single platform. The three components are the user interface, the data access layer, and the data store.


Video Answer


1 Answers

"... do I need to install kubernetes for a single container" - No, it is not mandatory. One can use docker to manage applications. Kubernetes is a platform that can be used to orchestrate containerized applications. It offers tools and concepts like autoscaling based on load, isolation through namespaces, network access management through services and ingresses, and much more. But Kubernetes is not the only platform for orchestration. There are others, for example OpenShift, docker swarm, rancher. All those are optional platforms with additional tooling and concepts that can be used if necessary.

"how can I scale or do the load balancing." - We can, for example, define the replicas through the replicas variable in a docker-compose file. All containers defined under a service are accessed through this service's name. How exactly the balancing is done can also be configured through the endpoint_mode configuration. If we need even more control, we can deploy a separate load balancer, e.g. nginx. A possible configuration is described in this medium article.


For future posts, please limit yourself to one question per post.

like image 129
Turing85 Avatar answered Nov 11 '22 04:11

Turing85