I
I
Ilya Rodionov2019-08-13 10:25:46
ubuntu
Ilya Rodionov, 2019-08-13 10:25:46

Kuber vs rancher vs docker?

Colleagues, good afternoon. In light of the latest trends, I want to switch to something "fashionable" like docker or kubernetes. Because of this, the question arises - where to go, then?
In my understanding, docker allows you to make a very simple orchestration with its swarm / stack method (right now on the dev stand I use the portainer + swarm bundle. The first manages docker-compose from the gui, the second "orchestras" everything), but the problem with it is that the docker does not monitor the state of the nodes themselves at all - if one OOM disappears, leaves, etc., then the docker will be able to deploy the container on a new one, however, even if 1/5 nodes remain, it will try to push all-all containers into it (perhaps this is configured at the level limits, but as for me they do not always work correctly).
As I understand,- this is a kind of add-on (??) (it's not entirely clear what it is to the end) over the docker, which will monitor the state of its PODs, migrate containers, etc.
There is for "simple" - rancher . Now it seems to work only with Kuber and is a GUI for management (although the question arises - why, if there is a standard Kubernets gui from Google). Or is the rancher doing something else, that's the question.
Actually, here are my thoughts and reflections on this matter. I want to get rid of the docker problem (especially when swarm stuffs everything onto one remaining node), and try something new.
What would you advise and why? Why a cuber and not a rancher. Or vice versa.
And is there an adequate gui to control the cuber?
Thank you.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
M
MherArsh, 2019-08-14
@MherArsh

Ilya, look on YouTube and read the Flant company blog on Habré, they are great, they will tell everything normally, and clearly, but in short:
Docker is an entity where applications are launched, it is something like a virtual machine, but it is not a virtual machine, but container process isolation, it is an engine where the app is running, everything.
To manage many containers, and for a lot of things (I won’t repeat myself, you’ll see), you need an arcestrator, there are several of them, the most popular is kubernetes.
Rancher, in turn, is a tool for installing kubernetes, in older versions they had their own arcestrator to choose from, but then they closed it.
And forget about ui)) you can’t do anything through it, the rancher has a more or less advanced ui, but there is very little benefit.
Good luck!

D
dimagusarov1, 2019-08-13
@dimagusarov1

Kubernets is like a swarm, only the swarm is bad and dead.
gui from Google no one uses, rancher is a more advanced thing, you can create clusters, manage, and so on.
and inside ranchera kuber, i.e. you can setup kuber rancher or cubespey or cubedm... but kubernetes is everywhere)

Y
Yuri Yarosh, 2019-08-23
@voidnugget

does not monitor the state of the nodes themselves at all - if one OOM fails

Already fixed via HEALTHCHECK / STOPSIGNAL in Dockerfile. Yes, and the standard OOM has been working for a long time .
No, the cuber is primarily a resource management tool, and any ...
Since there are CRD and custom controller 's, with the Operator Framework 'om.
ComCast, for example, manages the streaming hardware and associated SDN entirely within K8S.
For the Kuber, they came up with quite a lot of things ( including shit ) to simplify the deployment and a way to describe the life cycle of applications. So far , I don’t know
anything better than the Operator Framework on top of Argo / Spinnaker .
Rancher by itself only deploys a Kubernetes classter to a bunch of servers, monitors it, and also allows you to back up a little, roll out simple Helm Charts.
Therefore, in 99% of cases, everything comes down to "Terraform'u handles " and self-written Custom Node Drivers.
That's what really can and should be automated on Rancher is Cluster Nodes Autoscaling, when the rancher itself adds / removes machines in the Node Pool according to current metrics and makes the appropriate rebuild of any ...
Practical benefits from rancher in case of using Kubernetes as a There are not many Service hostings, if you don’t often have to clone / update / delete packs of clusters and transfer everything from one hosting to another, well, from the basement to GCP / AWS and vice versa.
You can live in a prod without a docker - it is only used to build images.
Try Kata Containers under gVisor in Kubernetes (it's pretty secure).
Kubernetes itself can be run, for example, not in docker, but in Nomad (this is what Sony does).
In addition to the rancher, I did not see anything else ...
I myself am writing a competitor to them now.

V
Vitaly Karasik, 2019-08-13
@vitaly_il1

Kubernetes is an orchestration for docker, in addition to maintaining the required number of containers, K8S can deploy in different ways, do auto-scaling in several ways, etc.
I would suggest starting with Kubernetes.
Rancher, in my understanding, is an "add-on" over Kubernetes, which should facilitate deploy / upgrades, work with multi-cluster configuration and, in general, create a "smarter" API.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question