If you are a developer or just interested in technologies it's likely that you have started to hear or read they word "kubernetes" and you are curious What's kubernetes and why you might need it?
In simple terms kubernetes is a cluster that manages containers (similar to docker). It helps to deploy, scale and manage your nodes easily. So how kubernetes creates and deploys nodes?
You basically give image of application or server with some specifications like how much ram you need or how many CPUs needed etc.. and kubernetes creates node, deploy and keeps track of application. If application crushes or something happens kubernetes will restart or substitute that node. I configure kubernetes to work with git commits for test and production environments, similar what you can do with azure or amazon consoles, but this time they are managed by kubernetes.
Another thing kubernetes helps is, it automates scaling, for example it creates containers and servers, and decided how many containers you need for servers. Kubernetes decides (based on specifications) which server goes to which machine, how many machines you need for application, database, redis or any other servers.
Also kubernetes manages your services, checks health of nodes. It's really helpful because a lot of things can happen. It even helps you to manage ssl certificates and keep track with server node's need each other to function properly. Kubernetes has really intuitive dashboard where you can see all metrics like load on your servers, response time, response size.. etc.
People often mix two things - Docker and Kubernetes, but there is big difference between them. Docker and Kubernetes sit on the different level of cloud managment, docker manages single container, but kubernetes manages those docker containers or any other type of containers.
Kubernetes also have reliable API - that you can build your solutions upon. It solves a lot of problems listed above. So all should you kubernetes ? Answer is no. When you don't need kubernetes?
You don't need kubernetes is you are developing application, testing with small group of people, if you know all of users, if you know what load your servers will get or maybe you develop intranet application you don't need kubernetes in all of those scenarios.
oh very interesting! thanks!